Pattern · an exhaustive proof, and the part of it you can run
The Seventeenth Clue
A sudoku with too few givens is not hard, it is ambiguous: more than one grid finishes it. For years nobody could find a puzzle with 16 givens that had exactly one completion, and nobody could prove none existed. In 2012 a year of supercomputer time closed the gap. Below, take a clue away from a published 17-clue puzzle and watch the second completion arrive.
Take one away
This is Figure 1 of the paper: seventeen givens, one completion. Click any gold digit to delete it. Nothing else changes. The solver reruns from scratch on what is left.
Solving the intact puzzle…
When a clue is gone the page puts the original solution beside an alternative completion and paints the cells where the two disagree in rose, alternating between them so you can see the swap. Those disagreeing cells are an unavoidable set: a patch that can be rearranged into a different legal grid without touching anything outside it. The clue you just pulled is always inside the set, because if it were not, the alternative would also have satisfied the original seventeen and the puzzle would never have been proper. So every proper puzzle has to put a clue inside every unavoidable set of its grid, and a puzzle is exactly a hitting set of that collection. The page then shrinks the patch until no single cell can be dropped from it. The tightest ones come down to four cells, which is also the smallest an unavoidable set can ever be: two digits sitting at the corners of a rectangle, swappable. That shrinking is a local minimum found by search, not a proof that no smaller patch exists.
The puzzle carries 17 clues and has 1 completion. All 17 single-clue deletions were tried, and every one of them leaves at least two. The cell you empty does not just lose its proof, it stops being determined at all: depending on which given you pull, that cell can legally hold anywhere from 4 to 7 different digits, and 101 legal digits across the seventeen deletions taken together. Seventeen clues is not seventeen clues with slack in it. It is seventeen clues with none.
The rule of the game, stated exactly. A clue is a cell whose digit is given at the start. A puzzle is proper when exactly one filled grid satisfies every row, column and box constraint and agrees with all the clues. The minimum-clue question asks for the smallest number of clues any proper puzzle can have. It says nothing about difficulty for a human, nothing about whether a puzzle can be cracked without guessing, and nothing about how newspapers set puzzles (they print far more givens than this, usually somewhere in the twenties; we have not counted a newspaper's output and do not print a figure for it).
Seven clues can be ruled out on a napkin: two of the nine digits are then missing entirely from the
given cells, and any solution can have those two digits swapped throughout to give a second one.
Eight has no known pencil-and-paper proof to this day. The paper is blunt about the gap:
a theoretical proof of the nonexistence of an 8-clue puzzle is still lacking
. Between 8 and
17 the only instrument anyone has found is a computer.
The census, on the record (not rerun here)
The proof is a completed exhaustive search, one representative grid at a time. This browser cannot repeat it and does not pretend to. Everything in this box is quoted from the sources; everything outside it is recomputed in front of you.
- Completed grids
- 6,670,903,752,021,072,936,960 distinct filled sudoku grids (Felgenhauer and Jarvis, via Russell and Jarvis).
- Symmetries
- Two grids count as the same case if one becomes the other under a sequence of: relabelling the nine digits; permuting the three bands; permuting the three rows inside a band; the same two moves on stacks and columns; and transposing the grid. Rotations and reflections are already compositions of those. Ordinary visual resemblance is not enough.
- Cases searched
- 5,472,730,538 equivalence classes, one representative each (Russell and Jarvis, 2006, by Burnside's lemma). The reduction runs from 6.67 × 1021 grids down to 5.47 billion cases, not from 5.5 billion down to 5.47 billion.
- Compute
- About 7.1 million core hours on the
Stokes cluster at ICHEC, roughly 800
processor-years. Core hours are aggregate processor time, not elapsed time: the jobs ran
from January to December 2011. Divide the core hours by the classes and you get about
4.7 seconds per grid, but the paper reports
The average running time of our final version of the new checker is about 3.6 seconds per grid
: the total covers six successive versions of the program, five of them slower, and the paper says the first version alone would have needed at least 1.5 million hours more. - What was checked
- The authors report white-box stepping of the code, assertions, valgrind, version control, two built-in safety checks (re-testing every unavoidable set through the solver, and re-validating both completions whenever the solver reported a second one), and a modified build that successfully rediscovered every known 17-clue puzzle in the grids that contain them. The result then passed peer review at Experimental Mathematics. We have not found and verified an independent full rerun by another group, and we do not claim one.
One arithmetic consistency check on those cited numbers is run live, below. Counting positions only, there are six ways to order the three bands and six ways to order the rows inside each of them, so 6 × 6³ = 1,296 row moves, the same again for columns, and a factor of 2 for the transpose: 3,359,232 in all. Times the 9! = 362,880 relabellings, the full group has order 1,218,998,108,160. If the two published counts are right, dividing the first by the second must land just under that, because almost every class has a full-size orbit. It comes to 99.9948% of it.
Checking the group arithmetic…
First, a problem small enough to finish
The same question has an answer for a 4×4 board with 2×2 boxes, and there the whole problem fits in a browser tab. There are only a couple of hundred completed 4×4 grids, and the minimum-clue question only ever needs the small subsets: if no subset of size 3 or less is proper anywhere, and some subset of size 4 is, the minimum is 4, and larger subsets cannot change that. So the census below tests every completed grid against every clue set of size 1, 2, 3 and 4, which is 2,516 subsets per grid and 724,608 uniqueness tests in all. Sizes above 4 are skipped, and skipping them is exactly what the argument licenses. It is a few seconds of work on a laptop and up to half a minute on a phone; the progress bar is honest about which you have.
The complete 4×4 census
Every completed grid, every subset of clues up to size four, each one run through the solver and asked whether it has exactly one completion. No sampling, no symmetry shortcut, nothing skipped below size five.
Not started. The whole census: a few seconds on a laptop, up to half a minute on a phone.
The first proper four-clue puzzle the census finds, on the first grid it finds it in. Click a given to delete it and watch four clues become not enough.
Waiting for the census.
There are 288 completed 4×4 grids. Across all of them, 200,448 subsets of three clues or fewer were tested and 0 were proper; of the 524,160 four-clue subsets, 25,728 were. So the answer for 4×4 is 4, which is what the literature summary in the paper records for the 2×2-box case. That table also lists 8 for the 6×6 board, 14 for 8×8, and 17 for 9×9. Only the first of those is small enough to finish here; the last is the one that needed the cluster.
Notice the shape of the thing. The proof that three clues never suffice is not an argument, it is a list: every grid, every subset, checked. That is exactly the shape of the 9×9 proof too. The only difference is the size of the list, and it is the size that turns a browser tab into a year on a cluster.
What the search was actually searching
Brute force over the clue subsets does not scale: a single grid has 33,594,090,947,249,085 ways to pick sixteen cells, which is far too many to test one at a time, and that is the cost of a single grid with 5,472,730,538 equivalence classes still to get through. The paper's move is to turn the question into a hitting set problem. Find the unavoidable sets of a grid first, the small patches that can be rearranged into a different valid grid. A proper puzzle has to place a clue inside every one of them. So instead of enumerating clue subsets you enumerate hitting sets of a collection of unavoidable sets, which is a much smaller space, and only the survivors go to the solver. Hitting sets are still NP-complete in general, which is why the enumeration algorithm was the research contribution and the cluster time was still needed.
Hitting every unavoidable set you know about is necessary and not sufficient. That is why the original program ran every surviving candidate through a full sudoku solver before believing it. The instrument below is the same asymmetry, made operable.
The grid that needs eighteen
Here is the sophisticated version of the mistake. Seventeen is the minimum, so seventeen clues are enough, right? No. Seventeen is a minimum over all grids: it means some grid somewhere contains a proper 17-clue puzzle. Almost no grid does. And one particular grid, structured enough that the argument can be made by hand, provably cannot be pinned down by seventeen clues no matter where you put them. You can check that by hand, and you can check it here.
The grid below is Figure 10 of the paper. Its 9 tinted regions are not boxes. Each is three rows of one band crossed with one column from each stack, so each holds 9 cells, and between them they cover all 81. Each region carries three digits arranged as a 3×3 Latin square. Every such region is an unavoidable set of degree 2: give the whole rest of the grid away plus one cell of the region, and the region still has more than one legal filling. Press the button and the page tests that for all 81 cells.
Nine regions, two clues each
Click any cell to place a clue there, click again to take it back. From the keyboard, tab once into the grid and move with the arrow keys; space or enter places a clue. The chips count clues per region.
No clues placed.
Degree-2 test not run yet.
Withdraw a region entirely and it has 12 legal fillings, which is the number of 3×3 Latin squares on three symbols. Hand back exactly one of its cells as a clue and 4 survive, for every one of the 81 choices. Four is more than one, so one clue never settles a region.
That is the whole lower bound, and it is genuinely a hand proof. Nine regions, pairwise disjoint, covering all 81 cells. Each needs at least two clues. Seventeen clues cannot give two to each of nine regions, so some region gets at most one, so that region still has a second filling, so the puzzle is not proper. Minimum 18 for this grid, with no computer search over clue subsets at all.
Now the second half, which is the part that gets skipped. Two clues per region is necessary. It is nowhere near sufficient. Of the 36 pairs of cells inside a region, only 9 settle it even when the other 72 cells are handed over, so picking two clues per region is already a delicate choice. Load the near miss: 18 clues, with 2 in every region, and every one of those nine pairs is a settling pair. The puzzle still has 516 completions. The regions are not independent: alternative grids can differ across several regions at once in ways no single region notices. That gap between "hits every unavoidable set I listed" and "has one solution" is exactly the gap the cluster had to spend its time closing, candidate by candidate, in a solver.
Proper 18-clue puzzles in this grid do exist, and load a proper 18 is one: 18 clues, two per region, 1 completion, and all 18 of its single-clue deletions fall back to at least two completions, so nothing in it is spare. We exhibit it rather than derive it: it is shipped as a literal clue string and everything said about it here is re-solved from scratch. We make no claim about how it was originally found.
How thin is the ice under it? Every region has exactly nine settling pairs, so there are 99 = 387,420,489 ways to give each region one of them, and the proper 18 above is one of those. Draw from that space at random and almost nothing comes back proper. The button samples it: same generator, same seed, in this tab and in the offline verifier, so the two agree cell for cell.
Sampling the settling-pair space
20,000 draws, one settling pair per region each time, every resulting 18-clue puzzle run through the solver. The generator is mulberry32 seeded with 20120101; the sample size and the seed are our free choices and nothing else is.
Not started. Ten seconds or so on a laptop, longer on a phone.
The sample comes back with 0 proper puzzles. Zero hits is not "none exist", it is a bound: with no hits in n draws the one-sided 95% limit on the rate is 3/n, so proper puzzles are rarer here than one in 6,667. Offline, on the same stream, we pushed the same script to 2,000,000 draws and found 1. One event in two million is a rate of about one in two million and also a very weak estimate of one: the interval around a single observation runs from roughly one in eighty million to one in four hundred thousand. Either way, thin ice. That longer run is recorded in research/sudoku-16-clue/longrun.json, it is not rerun in this tab, and it is the one number in this section you are taking on our word rather than watching happen.
Is this the most symmetric grid there is?
It would be a good story. It is not true, and the paper is where the story comes from. On the
catalogue page the authors write The largest automorphism group occurring has order 648, and is
realized, up to equivalence, by exactly one grid
, and the cross-reference they attach to that
sentence points at Figure 10, the grid above. The lemma about Figure 10, later in the paper, makes
no such claim: it says only that a hand proof is possible because this grid is highly
structured
.
An automorphism is a symmetry of a single grid: a permutation of bands, of rows inside bands, of stacks, of columns inside stacks, optionally a transpose, which lands the grid back on itself once you also relabel the digits. There are exactly 3,359,232 positional moves to try, which is small enough to try all of them. For each one the relabelling is forced by the top row of the image, so the whole test is a table lookup and a comparison. Press the button and the page does it three times: once for Figure 10, once for a grid built to realise the published maximum, and once for a shuffled copy of Figure 10.
Exhausting every positional symmetry
Not started. Three grids, every positional move tried on each.
Figure 10 has 54 automorphisms. The comparison grid, built from the rule digit = 3·((stack + row-in-band) mod 3) + ((column-in-stack + band) mod 3) + 1, has 648, which is the maximum the paper reports. And the count is an invariant of the equivalence class: conjugating a grid by any symmetry conjugates its automorphism group, so the order cannot change. The page shows that too, by transposing Figure 10, swapping its first two bands and relabelling every digit d to d+1, then recounting: 54 again. So the gap between the two counts is not a near miss or a matter of drawing. Figure 10 is not in the class that realises the maximum, and the paper's cross-reference is wrong.
Nothing else on the page depends on this. The lower bound of 18 comes from the nine disjoint degree-2 regions, which the button above tests directly, and that argument never needed the grid to be extremal. What the superlative would have bought is only rhetoric, and it was not ours to spend.
The check
Every computed result printed on this page carries a data-claim attribute, and every figure taken from a source carries data-cited instead. Written plainly, without either, are only the shapes of things (a 9×9 board, nine regions of nine cells, Figure 10) and round restatements of a figure already marked once. The verifier enforces the rule mechanically: it fails if any styled number on this page carries neither attribute. The audit below recomputes each data-claim from the rules of sudoku, in this tab, and compares. The offline script research/sudoku-16-clue/verify-sudoku-16-clue.mjs parses the same attributes out of the shipped HTML and recomputes them with a separately written solver. If a clue were transcribed wrong, a region shaded wrong, or a count copied instead of derived, a row here goes red. The data-cited figures are not recomputed by anybody: they are the 6.67 × 1021 grid count, the 5,472,730,538 classes, the 7.1 million core hours, the 800 processor-years, the smallest-critical-set values for 6×6 and 8×8, and our own two-million-draw offline run.
| what | printed | recomputed here | result |
|---|
Audit queued…
Free choices, and what is not checked
- The 17-clue puzzle is one example, chosen for us. It is the puzzle drawn in Figure 1 of the arXiv preprint, transcribed by us from that figure. Its uniqueness is recomputed here, so a bad transcription would show up as a wrong solution count, but the choice of which 17-clue puzzle to show is arbitrary.
- The 9×9 census is cited, not rerun. Nothing on this page tests any grid for 16-clue puzzles. The claim "no 16-clue sudoku exists" rests on McGuire, Tugemann and Civario, on their reported internal checks, and on peer review. We did not find an independent full replication and do not claim one.
- Solution counts stop early where they must. Where a count is capped the page says "at least 2" and never invents an exact figure. The counts printed as exact numbers (516 for the near miss, 12 and 4 for the region tests, 288 and 25,728 for the 4×4 census) are full enumerations that ran to completion.
- The proper 18 is exhibited, not derived. We claim nothing about how it was found. It is shipped as a literal clue string, as is the near miss, and every property either one is said to have is re-solved from scratch here and again in the verifier. Its existence is a witness, not a proof that 18 is achievable in every way (the lower bound already forbids smaller).
- The sample size and the seed are ours. 20,000 draws and mulberry32 seeded with 20120101 are free choices; the drawing rule, the settling pairs and the uniqueness test are not. A different seed would give a different sample and, at this rate, almost certainly the same zero. The 3/n rule for a zero-count upper limit is the standard rule of three, and it is an approximation: it assumes independent draws, which uniform sampling with replacement gives.
- The two-million-draw run is the one thing in that section you cannot watch. It took about twenty minutes and is not repeated in the tab or in the verifier. The script that produced it is research/sudoku-16-clue/search-good18.mjs, the recorded result is research/sudoku-16-clue/longrun.json, and the verifier does check that the number printed here is the number in that file, which catches a typo and nothing more. The first 20,000 draws of that run are exactly the sample the button draws.
- The maximum automorphism order is cited, the two counts are not. That 648 is the largest order any grid attains is the paper's claim, and the paper attributes it to a forum post rather than to a refereed source, so we have not verified the maximality itself. What is recomputed here is the exhaustive count for each of three specific grids. That is enough for the negative claim: 54 ≠ 648 rules Figure 10 out of the maximal class whatever the true maximum is, because the order is an invariant of the class.
- The tinting is a claim, and it is tested. The nine regions are asserted to be pairwise disjoint, to cover all 81 cells, and to be degree 2 at every one of those cells. If we had shaded them wrong the degree-2 test would fail on some cell.
- The group arithmetic is a consistency check between two cited numbers, not an independent recount. We compute the order of the symmetry group from its definition and confirm the published grid count divided by the published class count lands just under it. It would catch a typo in either citation; it does not re-derive either one.
What is proved here, what is proved elsewhere, and what the theorem does not say
Proved in this tab. That the printed 17-clue puzzle has exactly one completion and that each of its seventeen single-clue deletions has at least two. That the 4×4 problem has 288 completed grids, no proper puzzle with three clues or fewer anywhere among them, and 25,728 proper four-clue puzzles, hence a minimum of exactly 4. That the nine tinted regions of the structured grid partition it and each requires two clues, hence that grid needs at least 18. That an explicit 18-clue puzzle in it is proper and an explicit near miss with two clues per region has 516 completions. That the structured grid has exactly 54 automorphisms out of 3,359,232 positional moves, that a second grid has 648, and therefore that the two are not equivalent.
Proved elsewhere, cited here. That no completed sudoku grid anywhere contains a proper 16-clue puzzle. That is McGuire, Tugemann and Civario, 2012 preprint and 2014 journal article, roughly 7.1 million core hours. The count of completed grids is Felgenhauer and Jarvis; the count of equivalence classes is Russell and Jarvis. None of those computations happen here.
What the theorem does not say. It does not say every grid contains a 17-clue puzzle; very few do, and the grid on this page needs 18. It does not say a 17-clue puzzle is hard, or easy, or solvable by human logic without guessing; clue count and difficulty are different questions. It does not say 17 clues placed anywhere work: almost every 17-cell subset of almost every grid is ambiguous. And it does not close the mathematical question. Nobody can yet prove by hand that 8 clues are insufficient, let alone 16.
Why the degree-2 regions work. Take one region: three rows of a band, and one column out of each stack. Its nine cells hold three digits. The row constraint says each of the three rows carries each digit once. The three cells of the region in a single column all sit in the same box, so the column constraint and the box constraint say the same thing there. What is left is exactly the definition of a 3×3 Latin square, and there are 12 of those on three symbols. Fix one entry and 4 survive, which is more than one, so a single clue never settles the region. Those two are counted here by enumerating 3×3 arrays directly, with no sudoku solver involved, and they have to agree with the "12" and the "4" that the solver gets from the whole grid. Two different instruments, one answer.