Solitaire

More about solitaire

How our solitaire deals are made

A game of solitaire is only as fair as its deal. Here is what we do to make ours fair and to prove a deal can be won.

Short answer

Each deal is a real shuffle of 52 cards from a deal number between 1 and 99,999,999, using a fixed algorithm so the same number always gives the same cards. Winnable deals come from a list that a solver program has won and whose winning line was replayed move by move. The daily deal is taken from that list by date.

The shuffle

We shuffle the deck with a seeded random number generator and a standard Fisher-Yates shuffle. The deal number is the seed. We use our own small generator rather than the one built into a programming language, so the same number gives the same deal on every device and every browser. Deals are then laid out in the standard Klondike way: 28 cards in seven columns and 24 in the stock.

Winnable deals

To make a list of winnable deals we ran a solver, a program that searches for a winning sequence of moves. For each candidate deal it was allowed to look at up to 200,000 positions. When it found a win, we replayed the winning line move by move with the game's own rules before accepting the deal.

The deals that were not accepted are either unwinnable or too hard for the solver to prove within its limit, so these numbers are lower bounds on how many deals can be won. See is solitaire always winnable.

The daily deal

Each UTC day, the game picks the next entry from the winnable list. The date decides the position in the list, so everyone gets the same deal that day.

What we do not do

Frequently asked questions

Is the shuffle really random?

It is a real shuffle driven by the deal number, and the same number always gives the same cards.

How do you know a deal is winnable?

A solver won it, and the winning line was replayed with the game rules.

Does the difficulty change while I play?

No.