Why every Solitaire deal on Lynxy can be won
Shuffle a deck, deal Klondike, and there is a real chance that no sequence of moves wins the game. You can play perfectly and still lose. On Lynxy Solitaire that never happens: every deal you get has been won before, by a program, move by move. This is how that works.
How many deals are unwinnable?
Nobody knows the exact figure for ordinary Klondike, because the game hides information: you cannot see the face-down cards, so “could this deal be won” and “could a player win it” are different questions. Researchers have studied a version called thoughtful solitaire, where every card is visible. A 2005 study by Xiang Yan, Persi Diaconis, Paat Rusmevichientong and Benjamin Van Roy put the share of winnable deals in that version at roughly 82-91%. Real Klondike, played without seeing the cards, is harder still.
So a random deal is beatable most of the time, but not always, and a player who loses cannot tell whether they made a mistake or never had a chance. That uncertainty is what we wanted to remove.
Deals as numbers
Every deal on Lynxy comes from a seed: a number fed into a small random number generator that shuffles the deck. The same seed always produces the same deal, which is why the deal number is shown above the table. That makes it possible to test a deal once, offline, and then trust it.
The solver
The solver is a depth-first search: it tries a move, then a move from there, and backs up when a line goes nowhere. Klondike's search tree is enormous, so the search is pruned in several ways:
- It never draws for the sake of drawing. From any position it already knows which cards the stock can bring to the top of the waste by drawing alone, and treats playing one of them as a single move.
- Safe foundation moves are made without thinking. If no card of the other colour could still need a card as a resting place, it goes up immediately and the search does not branch.
- No pointless shuffling. A run of cards moves only if that uncovers a face-down card or empties a column. Part of a run moves only to free a card for a foundation.
- Positions are remembered. The solver keeps a set of positions it has already seen, with the columns sorted, so two positions that differ only in the order of columns count as one.
Each search has a budget. A deal that the solver cannot win within the budget is not necessarily unwinnable - it is simply not used.
Trust, but replay
A bug in a solver can produce a “win” that breaks a rule. So every winning line is replayed from the start under the game's own move rules, the same code you play with. Only deals that survive the replay are kept: 600 for Draw 1 and 600 for Draw 3. The game also never gives you the deal you have just played.
Hints use the same solver
The hint button runs the solver from your current position, with a budget of 30,000 positions, and lights up the first move of a winning line - or the stock, if the card you need is still in it. Because the deal started winnable, a position can only be lost through moves you made. If the search proves that has happened, the hint tells you so, and undo is unlimited. If it runs out of budget, it falls back to the best move by rule of thumb.
Draw 1 or Draw 3?
In Draw 1 every card of the stock is reachable on every pass, and the main skill is in the tableau. In Draw 3 only every third card is playable, and playing one shifts all the others - so the stock becomes a puzzle of its own. That is why Draw 3 scores two points on Lynxy and Draw 1 one.
A few habits that win more games in both modes:
- Uncover face-down cards first. A move that turns a card over is almost always better than one that does not. Prefer the column with the most hidden cards.
- Do not empty a column without a King to put there. An empty column is only useful if you can fill it with the right King, ideally one that frees something.
- Hold back on the foundations. Moving low cards up is safe; moving a 6 of hearts up early can leave a black 5 with nowhere to go.
- In Draw 3, count before you play from the waste. Taking a card off the waste changes which cards come up on the next pass. Sometimes leaving it there is what keeps the card you need reachable.