A FreeCell solver is a program that cracks any deal by searching every legal sequence of moves. These programs prove that skill, not luck, decides the outcome. The search term is freecell solver, and what follows explains how the engines work, what the big solving projects found, and how to read solver output to sharpen your own game.
How FreeCell Solvers Search the Deal Tree
The search space
A FreeCell board has 8 columns, 4 free cells, and 4 foundations. That compact layout keeps the search space small enough for a solver to check every possible move fast. The engine starts from the initial shuffle and walks the tree of legal moves. At each step it tries every allowed action: moving a card from a column to a free cell, from a free cell to a foundation, between columns, or from a column straight to a foundation. Any board position it has already seen gets pruned. Revisiting the same position wastes time.
Heuristics that speed the search
Heuristics cut the work further. The common ones:
- Prioritise moves that empty a column. An empty column takes any card.
- Prioritise moves that place a card on a foundation. That removes the card from play permanently.
- Reject moves that lead to dead ends, such as burying a low card under a stack of higher cards.
With pruning and these heuristics combined, a solver finds a win for a winnable deal in a fraction of a second.
What the Internet FreeCell Project Discovered
The original 32,000 deals
The Internet FreeCell Project, organised by Dave Ring in 1994, was the first large-scale effort to solve every deal. The original Windows FreeCell shipped with 32,000 numbered deals. The project proved that every one of them can be won. Except #11982. That is the only unsolvable deal in the original set.
The million-deal set
Later versions extended the numbering to 1,000,000 deals. Solvers have checked the first million. Eight are unsolvable. Those eight include #11982 and seven others. Because each deal number always produces the same shuffle, a solution is reusable. Once a solver finds a sequence of moves for a deal, that sequence works every time you play that number.
Using Solver Output to Improve Your Play
Learn the order of moves
When you run a solver on a deal, it outputs a list of moves. Do not just copy them. Study the order. Notice which cards the solver sends to free cells and which it routes straight to foundations. Watch when it empties a column and what card it places there.
Practise on hard deals
Pick a deal you find difficult and run a solver to see the win. Then replay that deal from memory, following the same principles. Over time you internalise the patterns solvers use.
Compare your own solution
Solve a deal on your own first. When you get stuck, run a solver and compare your approach. Find the point where your path diverged. That moment reveals a better move you missed.
Get the most from solver output by following these steps:
- Choose a deal number and play it without help.
- Write down your moves or save the game state.
- Run a solver on the same deal number and note the solution.
- Compare your moves to the solver's, move by move.
- Identify the first move where you chose differently and understand why the solver's choice was better.
Why Deal Numbers Are Key to Solvers
Every deal number in FreeCell acts as a seed for the shuffle. The same number always produces the same arrangement of cards. This makes solvers practical. Without it, a solution for one game would be useless for another. With it, a solver stores solutions by deal number and recalls them instantly.
Because the shuffle is deterministic, the Internet FreeCell Project could assign volunteers different deal numbers to solve. Each volunteer ran a solver on their assigned numbers and reported the results. That distributed effort checked all 32,000 original deals quickly.
Limitations of FreeCell Solvers
Unsolvable deals
Solvers are fast, but they are not perfect. A solver finds a win only if one exists. For the eight unsolvable deals, it searches every possible move and eventually reports that no win is possible. The search takes longer on these deals because the engine must exhaust the entire tree.
No strategy lessons
Solvers do not teach strategy. They show a winning sequence. They do not explain why one move beats another. That is why studying solver output, rather than just copying it, helps you learn.
How to Get Started with a FreeCell Solver
If you want to try a solver, you can find programs that accept a deal number and return a win. Many are open source and run on any computer. To use one:
- Download a FreeCell solver program from a trusted source.
- Enter the deal number you want to solve.
- Run the solver and read the list of moves.
- Play the same deal number in FreeCell and follow the moves to verify the solution.
Some solvers also let you input a board state manually, so you can check positions that are not from the standard deal numbering. For more on playing FreeCell, visit freecellsolitaire.info.