The software used to generate the charts, as shown under strategy can be downloaded here. This software can be used to prove that by playing Blackjack, it is possible to beat the dealer on the long term under certain conditions. As far as I know, Blackjack is the only game offered by casinos, where this has been mathematically proven. This software was written in C in 1992 during my studies of physics for a seminar about probability calculations.

Download the sources from here (20.4 KB) . The following executables can be build:

- bbjd: tool to calculate probabilities and expectations interactively.
- basicbbjd: the same as bbjd but for the basic strategy.
- simbj: simulation of a Blackjack player using the best strategy.
- basicsimbj: the same as simbj but for the basic strategy.

These executables have a very simple UNIX-like command line user interface.

This software may be used to understand and to learn the strategies of how to beat the dealer. The sources are published under the GNU Public License which means that this program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

This software should work on every computer younger than myself. The only tools you require are a C compiler. The probability calculator has no dependencies, not even to the standard C library. Minor modifications to the Makefile may be necessary. If you are able to compile a simple *Hello World* program, you are able to compile this software on your computer. I will not answer any questions about how to build it on your architecture.

This program has been released to public in 1998. Since then it has been downloaded a few times daily. Nobody ever reported a bug, except for the unser interface. I therefore assume that the mathematical engine of the program is bug free.

I will pay 100 US Dollars to the first person showing a bug in the mathematical engine of this software, namely `probability.c`

.

Accepted bugs are:

- Crashes or bogous results using correct input as defined in
`probability.h`

. - When the decision maker of this software instructs the player to do wrong decisions, such as buying, staying, doubling or splitting.
- If an alternative solution makes better mathematical decisions than this software
^{*}.

This guarantee does not apply on:

- Wrong results caused by rounding errors on your hardware.
- Bugs in the user interface.
- When other Blackjack rules, than described here are beeing applied.

This offer is voluntary and no legal claims can be derived from this guarantee, therefore no law is applicable. I will publish the name of this person and/or add a link to a page of his choice.

^{*} one must provide a solution using an API compatible to simulate.h. The alternative solution must show a considerabely higher total gain than this Blackjack simulator after at least 10 million simulated games with exactely the same content in the shoe.