Wordle is a single-player word game acquired by the NY Times from inventor Josh Wardle about 4 years ago (Wordle โ The New York Times). It is an English language elimination puzzle where the player attempts to determine a daily 5-letter answer word among a pool of 3,201 in 6 guesses from a pool of 14,855 5-letter guess words. There are several efficient strategies for solving the daily puzzle. The NYT game is popular, with over 4 million daily players in 2025.
The wordle 5-clique problem is an intellectual curiosity and not considered an efficient solution method. It asks: what 5 word subsets of the 14,855 guess words contain 25 unique letters of the alphabet. The methodology used to solve the query follows.
Computing was performed with Mathematica v.15 personal edition installed on an Intel i9-10900KF Windows 11 system overclocked to 5.1 GHz with 128 GB RAM. The current list of 14,855 guess words was obtained from valid-wordle-words.txt ยท GitHub and converted to uppercase. The list was reduced in size to 9,365 words with 5 unique letters.
sufficientWords = (If[Length[Union[Characters[#]]] == 5, #,
Nothing] & /@ guessWords);
Next, word pairs with no common letters were joined by undirected edges and placed in a dynamic array. Subsequently, the dynamic array was normalized to an ordinary list of 6,404,322 edges.
edgesDA = CreateDataStructure["DynamicArray"];
Do[
iword = sufficientWords[[i]];
Do[
jword = sufficientWords[[j]];
If[! ContainsAny[Characters[iword], Characters[jword]],
edgesDA["Append", iword \[UndirectedEdge] jword]],
{j, i + 1, sufficientWordsCount}
],
{i, 1, sufficientWordsCount - 1}
];
edges = Normal[edgesDA];
edgesDA = Null;
(* 10 minutes *)
The edges list was then placed in a graph:
graph = Graph[edges]; (* 2 minutes *)
from which the cliques were computed:
all5cliques = FindClique[graph, {5}, All]; (* 1496 minutes *)
Here are the 25 solutions:
{
{"VOZHD", "CIMEX", "GRYPT", "BLUNK", "WAQFS"}
{"GLITZ", "PHYNX", "MOVED", "BRUCK", "WAQFS"}
{"GLITZ", "PHYNX", "JOKED", "CRUMB", "WAQFS"}
{"GLITZ", "PHYNX", "JUKED", "CROMB", "WAQFS"}
{"GLITZ", "PHYNX", "DRECK", "JUMBO", "WAQFS"}
{"GIZMO", "PHYNX", "VELDT", "BRUCK", "WAQFS"}
{"VOZHD", "CLUNK", "GRYPT", "BEMIX", "WAQFS"}
{"VOZHD", "XYLIC", "KEMPT", "BRUNG", "WAQFS"}
{"FRITZ", "WHUMP", "GYVED", "BLONX", "JACKS"}
{"MILTZ", "PHYNX", "GOVED", "BRUCK", "WAQFS"}
{"MILTZ", "PHYNX", "JUDGE", "BROCK", "WAQFS"}
{"KLUTZ", "PHYNX", "JIVED", "CROMB", "WAQFS"}
{"KLUTZ", "PHYNX", "GIVED", "CROMB", "WAQFS"}
{"JUMPY", "VOZHD", "TRECK", "BLING", "WAQFS"}
{"JUMPY", "VOZHD", "GLENT", "BRICK", "WAQFS"}
{"FRITZ", "JUMPS", "GYVED", "BLONX", "WHACK"}
{"FRITZ", "JUMPS", "GYVED", "BLONX", "CHAWK"}
{"JIMPY", "VOZHD", "GLENT", "BRUCK", "WAQFS"}
{"FJORD", "NYMPH", "GUCKS", "VIBEX", "WALTZ"}
{"FJORD", "GLITZ", "PHYNX", "WEMBS", "QUACK"}
{"FJORD", "CHUNK", "GYMPS", "VIBEX", "WALTZ"}
{"CYLIX", "VOZHD", "KEMPT", "BRUNG", "WAQFS"}
{"VOZHD", "PLING", "TRECK", "JUMBY", "WAQFS"}
{"PRICK", "VOZHD", "GLENT", "JUMBY", "WAQFS"}
{"CLIPT", "VOZHD", "KRENG", "JUMBY", "WAQFS"}
}
Of these, the permutation
{"WALTZ", "FJORD", "VIBEX", "CHUNK", "GYMPS"}
is considered to contain the least uncommon words, ordered mostly from highest to lowest vowel frequencies in the answer word pool.


โ you have earned Featured Contributor Badge