Skip to content
Puzzetto

How Puzzetto puzzles are generated and verified

Every puzzle on this site is a pure function of its date. There is no database of saved puzzles: the archive is the same function evaluated at a different day, which is why every puzzle since launch is still playable and always will be. The more useful consequence is that a generator can be checked exhaustively before anything is published, and this page is what those checks say.

All of the numbers below come from the verification suite that runs on every deploy. A generator that fails it does not ship.

Minesweeper: no guessing, ever

The complaint that defines the genre is losing to a 50/50 you could not have avoided. Every board here is proved solvable by pure deduction before it is dealt.

After a board is generated, a constraint solver plays it: single-cell rules first, then the subset rule (if the mines around one clue are a subset of those around another, the difference is forced), then whole-board mine counting for the endgame positions where local rules run out. If the solver ever has to guess, the board is discarded and another is generated.

900 / 900

Boards checked across the three difficulties, all completable without a guess

0.19–8.95ms

Average generation time, beginner through expert

subset + counting

Deduction rules needed beyond single-cell logic

Mahjong: every deal is solvable

Randomly placing 144 tiles onto a layout leaves a large share of deals dead on arrival. These are built backwards instead.

Rather than shuffling tiles onto a layout and hoping, the generator runs the game in reverse: it removes pairs from a solved position, backtracking whenever it paints itself into a corner. The result is a deal with at least one complete solution by construction. The verifier then throws the finished deals away and re-solves each one from scratch, so the guarantee does not rest on the generator being right about itself.

1,000 / 1,000

Deals re-solved from scratch across five layouts

12–25ms

Average solve time per deal, by layout

30 / 30

Mid-game reshuffles that leave the position still solvable

FreeCell: Microsoft deal numbers, exactly

Deal #11982 is the famous unsolvable one. If a site claims Microsoft numbering, that is the deal to check it against.

The shuffle reproduces the original Microsoft FreeCell deal numbering, so a deal number here is the same deal you would get in the version that shipped with Windows — which means decades of published solutions, discussions and personal records still apply. It is verified against deal #1 and deal #11982 tableau by tableau, and the solver confirms #11982 has no solution by exhausting its search space rather than by giving up.

#11982

Proved unsolvable after exhausting 61,643 search nodes

149 / 150

Random deals solved; the miss is a search-budget artifact, not an unsolvable deal

~976,000

Random plies played across Klondike and FreeCell asserting deck conservation and rule legality

Sudoku, nonograms and crosswords

The same principle in three more places: prove it, or do not publish it.

Every sudoku is verified to have exactly one solution — checked again after every single clue is removed, which is the only way to be sure digging one more hole has not created a second solution. Every nonogram picture is proved unambiguous, meaning the row and column clues admit exactly one filling; six of the original pictures had to be redrawn because an isolated diagonal cell could slide without changing a single clue. Every crossword grid is fully interlocked and filled from a hand-written bank, and three structurally legal grid patterns were dropped from the library after being proved unfillable.

40 / 40

Nonogram pictures proved to have a unique solution

1,903

Crossword entries behind 3,816 hand-written clues

9

Symmetric crossword patterns, all proved fillable

14

Verification suites that must pass before a deploy

Why any of this matters to a player

Not for its own sake.

A minesweeper board that forces a coin flip wastes the ten minutes you spent on it. A mahjong deal that cannot be finished does the same, more slowly. A sudoku with two solutions punishes correct reasoning. These are the failure modes that make people quit a puzzle site, and they are all avoidable by a generator that checks its own work — so this one does.

It is also what lets the leaderboard be honest. Because the server can rebuild any day’s answer key from its date, a posted score can be checked against the real puzzle instead of taken on trust.