Cards4.net

FreeCell Microsoft Deal Numbers Explained

By H. Marcell · 10 min Reading time

Table of contents

When Microsoft shipped FreeCell with Windows 3.1 in 1991, they made a quiet decision that would shape how millions of people think about the game for decades: they numbered the deals. Every game had an ID, from 1 to 32,000 in the original release, later expanded to 1,000,000. Players could type a number, get a specific deal, and share it with friends. "Try deal 617" became a thing people actually said to each other.

That numbering system created a shared vocabulary around FreeCell that no other solitaire game has matched. Players catalogued hard deals, discovered the handful of unwinnable ones, and built communities around specific numbers. The Microsoft deal numbers are now a piece of card game history, and understanding how they work tells you something interesting about both the game and the era that produced them.

The Original PRNG

The deal numbers aren't arbitrary labels. Each number is a seed for a specific pseudorandom number generator (PRNG) that produces a deterministic shuffle of the 52-card deck. Feed the same seed into the same algorithm and you always get the same deal. That's what makes the numbering system work.

Microsoft's FreeCell used a linear congruential generator, one of the oldest and simplest PRNG designs. The algorithm takes a seed value, applies a fixed mathematical transformation, and produces a sequence of numbers. Those numbers are then used to shuffle the deck using a variant of the Fisher-Yates algorithm. The specific parameters Microsoft chose were:

  • Multiplier: 214,013
  • Increment: 2,531,011
  • Modulus: 2^31 (2,147,483,648)
  • The high 15 bits of each output are used as the random value

The shuffle works by iterating through the 52 card positions from last to first. For each position, the PRNG generates a number, that number is taken modulo the current position index plus one, and the card at the resulting index is swapped with the card at the current position. The result is a complete shuffle of the deck that's fully determined by the initial seed.

This algorithm is not cryptographically secure, and it wasn't meant to be. It's fast, simple, and produces shuffles that look random enough for a card game. The same basic approach was used in countless Windows applications of the era. What makes it interesting for FreeCell specifically is that the determinism is a feature, not a limitation. Players wanted reproducible deals, and the PRNG delivered exactly that.

The original Windows 3.1 FreeCell supported deals 1 through 32,000. Later versions of Windows expanded the range to 1 through 1,000,000. The algorithm is the same across all versions; the only difference is the range of valid seeds. Deal numbers outside the 1-to-1,000,000 range were sometimes accessible through undocumented means in older versions, but they're not part of the canonical set.

One important detail: the deal number is not the same as the PRNG seed in all implementations. In Microsoft's original code, the deal number is used directly as the seed. But some third-party implementations that claim compatibility with Microsoft deal numbers use slightly different seeding or shuffling logic, which produces different deals for the same number. If you're trying to reproduce a specific Microsoft deal, you need an implementation that matches Microsoft's exact algorithm, including the specific modulus, multiplier, increment, and bit-extraction method.

Cards4.net's FreeCell implementation uses the original Microsoft algorithm, so deal numbers entered via the ?ms=N parameter produce the same layout you'd see in the original Windows game.

Unwinnable Deals

Of the one million deals in the Microsoft FreeCell numbering system, the vast majority are winnable. FreeCell has an unusually high win rate compared to other solitaire games, because all cards are face-up from the start and the game rewards careful planning. A skilled player can win well over 99% of deals.

But not all of them. Eight deals in the 1-to-1,000,000 range have been proven mathematically unwinnable through exhaustive computer analysis. No sequence of legal moves can solve them. They are:

#11982, #146692, #186216, #455889, #495505, #512118, #517776, #781948

These eight deals are the only confirmed unwinnable games in the standard Microsoft FreeCell set. The analysis that identified them was done by researchers who wrote solvers capable of exhaustively searching the game tree. For each of these deals, the solver confirmed that no winning path exists, not just that it couldn't find one.

The existence of unwinnable deals is worth understanding for a few reasons. First, it means that if you're stuck on one of these specific numbers, you're not missing something. The game genuinely cannot be won. Second, it illustrates something important about FreeCell's difficulty: the game is hard enough that some positions are provably impossible, but easy enough that only eight out of a million deals fall into that category. Third, the unwinnable deals tend to have a specific structural characteristic: cards get trapped in configurations where the free cells and empty columns can't provide enough temporary storage to untangle the blockage.

Deal #11982 is the most famous of the eight, partly because it was the first one identified and partly because it appears early enough in the numbering that many players encountered it before the unwinnable status was established. Players spent hours on it before the mathematical proof settled the question.

If you load one of these eight deals on Cards4.net, the game will play normally. The server won't warn you that the deal is unwinnable, because part of the FreeCell experience is discovering the limits of a position yourself. But now you know.

The ?ms=N Parameter on Cards4.net

Cards4.net supports Microsoft-compatible deal numbers through the ?ms=N URL parameter on the FreeCell page. Navigating to /freecell?ms=617 starts deal number 617 using the original Microsoft algorithm. Any number from 1 to 1,000,000 is valid.

This feature exists for a few reasons. The most practical one is compatibility: players who grew up with Windows FreeCell have specific deal numbers memorized or bookmarked. Deal 617 is famously difficult. Deal 1 is a gentle introduction. Being able to load those specific deals by number means the Cards4.net experience connects to decades of shared FreeCell history rather than replacing it.

The parameter also makes it easy to share specific deals with other players. If you want a friend to try a particular layout, send them the URL with the ?ms=N parameter and they'll see exactly the same deal you did. This is the same social mechanic that made the original Windows numbering system valuable, now available in a browser.

For the daily FreeCell challenge, Cards4.net uses its own seed library of pre-validated winnable deals rather than the Microsoft numbering system. The daily challenge seeds are guaranteed solvable, which means none of the eight unwinnable Microsoft deals will appear as a daily challenge. If you want to attempt one of the unwinnable deals deliberately, use the ?ms=N parameter directly.

The ?ms=N parameter accepts any integer from 1 to 1,000,000. Values outside that range are rejected with an error. Negative numbers, decimals, and non-numeric values are also rejected. The parameter is case-insensitive, so ?MS=617 and ?ms=617 both work.

Common Mistakes and Trivia

A common misconception is that the Microsoft deal numbers are random. They're not. They're deterministic outputs of a specific algorithm. The same number always produces the same deal, on any device, in any implementation that correctly replicates the original algorithm. "Random" in this context means the deals look shuffled, not that they're unpredictable.

Another common mistake is assuming that a deal you can't solve is one of the eight unwinnable ones. The eight unwinnable deals are specific numbers. If you're stuck on deal #5,000, the deal is winnable. You're missing a line of play, not hitting a mathematical impossibility. The FreeCell strategy guide covers the planning techniques that unlock hard positions.

Players sometimes ask whether deals above 1,000,000 exist. Technically, the PRNG can generate shuffles for any seed value, and some older Windows versions allowed access to higher numbers through undocumented keyboard shortcuts. But the canonical Microsoft FreeCell set is 1 to 1,000,000. Deals outside that range aren't part of the shared vocabulary and haven't been analyzed for winnability.

One piece of trivia worth knowing: deal #1 is not the easiest deal in the set, and deal #1,000,000 is not the hardest. The difficulty of a deal has no relationship to its number. The numbers are just seeds. Deal #617 is notoriously hard. Deal #11982 is unwinnable. Deal #1 is moderately easy. The numbers are labels, not rankings.

The Microsoft FreeCell numbering system has outlasted the operating system that created it. Windows 3.1 is long gone, but players still share deal numbers, still argue about which ones are hardest, and still occasionally encounter #11982 and wonder why they can't solve it. That's a remarkable legacy for what was essentially a random number generator seed.

FAQ

What are the eight unwinnable Microsoft FreeCell deals?

The eight deals proven mathematically unwinnable in the 1-to-1,000,000 range are: #11982, #146692, #186216, #455889, #495505, #512118, #517776, and #781948. These were identified through exhaustive computer analysis. Every other deal in the standard Microsoft set is winnable with correct play. If you're stuck on any other deal number, the game can be solved.

How do I load a specific Microsoft deal number on Cards4.net?

Navigate to /freecell?ms=N where N is the deal number you want, between 1 and 1,000,000. For example, /freecell?ms=617 loads the famously difficult deal 617. The layout you see will match exactly what you'd see in the original Windows FreeCell for the same number, because Cards4.net uses the original Microsoft PRNG algorithm.

Does the daily FreeCell challenge use Microsoft deal numbers?

No. The daily challenge uses Cards4.net's own pre-validated seed library, which guarantees every daily deal is winnable. The Microsoft numbering system is available through the ?ms=N parameter for players who want to access specific historical deals, but the daily challenge draws from a separate pool. See the daily challenge page for today's game.

Why does FreeCell have so few unwinnable deals compared to other solitaire games?

FreeCell's high winnability comes from two structural features: all cards are face-up from the start, and the four free cells provide flexible temporary storage. Because you can see every card, there's no hidden information to work around. Because you have free cells, you can temporarily park cards that are blocking progress. These two features together make it possible to solve almost any starting position with careful planning. The eight unwinnable deals are exceptions where the specific card arrangement creates a blockage that no amount of free-cell usage can resolve.

Can I share a specific FreeCell deal with a friend?

Yes. Copy the URL from your browser when you're playing a specific deal via the ?ms=N parameter and send it to your friend. They'll load the same deal. For deals started without the ?ms=N parameter (random games or daily challenges), the URL won't contain the deal number, so sharing requires noting the number separately if it's displayed in the interface.

FAQ

What are the eight unwinnable Microsoft FreeCell deals?

The eight proven unwinnable deals in the 1-to-1,000,000 Microsoft FreeCell range are #11982, #146692, #186216, #455889, #495505, #512118, #517776, and #781948.

How do I load a specific Microsoft deal number on Cards4.net?

Go to /freecell?ms=N, replacing N with a deal number from 1 to 1,000,000. For example, /freecell?ms=617 loads deal 617.

Does the daily FreeCell challenge use Microsoft deal numbers?

No. The daily challenge uses Cards4.net's own pre-validated seed library so every daily deal is winnable.

Why does FreeCell have so few unwinnable deals?

FreeCell shows all cards from the start and gives four temporary free cells, which makes nearly every deal solvable with careful planning.

Can I share a specific FreeCell deal with a friend?

Yes. Share the /freecell?ms=N URL and the other player will load the same Microsoft-compatible deal.

See also