The race above runs four solvers written in Rust, compiled to WebAssembly, each in its own worker. They count the same three things: nodes (placements tried), backtracks (guesses undone), and checks (questions of the form "can this digit go here?"). What a check costs is where they differ.
| BRT Brute force | BIT Bitmask | MRV MRV + propagation | DLX Dancing Links | |
|---|---|---|---|---|
| The idea | Take the first empty cell, try 1 to 9, and check each digit by scanning its row, column and box. Backtrack on a dead end. | The same search, but a 9-bit mask per row, column and box gives every legal digit at once: one AND-NOT instead of 27 reads. | After each guess, place forced digits (naked and hidden singles) until nothing changes, then branch on the cell with the fewest candidates. | Knuth's Algorithm X on Sudoku as exact cover: 729 placements, 324 constraints. Cover and uncover are O(1) pointer splices. |
| Cost of a node | 9 digits × 27 cell reads | O(1) per cell | One propagation pass, O(81) | O(columns) to choose, O(1) per link |
| Easy puzzles | 3.26 ms, 164,517 nodes | 447 µs, 164,517 nodes | 12.0 µs, 56 nodes | 29.5 µs, 56 nodes |
| Hardest puzzles | 8.99 ms, 194,314 nodes | 1.25 ms, 194,314 nodes | 220 µs, 701 nodes | 272 µs, 799 nodes |
| What it teaches | Exponential search with no pruning. Digit order decides everything: relabel a puzzle and it can take 100 times longer. | Same tree, cheaper checks: 5 to 7 times faster with not one node fewer. | A smaller tree beats a faster check: thousands of times fewer nodes. | The general method. It loses to Sudoku-specific propagation on easy ground and nearly catches it when the search gets hard. |
Medians measured natively on one laptop core, 100 puzzles per tier and 50 built to be hardest. Method and every number: docs/BENCHMARKS.md. The Bench page measures them again in your browser.
A human-style solver works from pencil marks with seventeen named techniques, easiest first, in the order of Sudoku Explainer's difficulty ratings: from hidden singles to X-Wings, Unique Rectangles and XY-Chains. A hint names the technique, points at where to look, then explains the deduction and highlights the cells that prove it.
The generator empties cells while the puzzle keeps one solution, counting solutions to two after every removal. Difficulty is the hardest technique a solve needs, not the number of empty cells: Easy, Medium, Hard, Expert, Master, or Beyond.