**Computer proof**

Yes, this is a computer proof. We will be releasing code, but not for a while.

We too were concerned about things like hardware reliability and bugs. We did as much as we could to not be tripped up by this. In particular:

1. Almost every single position was actually solved *twice*, not just once. Thus, an error in a single run would almost certainly not affect the overall result. The subset of positions not checked twice is small (but, alas, not small enough to easily check in full). I may yet attempt to check that subset exhaustively, at which point we can say for certain that every position has been checked twice.

2. Along the way we generated numbers that reproduced earlier results by other researchers, including the count of positions at distances 0 through 14, and also generated a *new* result, the count of positions at 15, which we hope to have verified soon by another researcher running code in Germany. Generation of these numbers required every single one of the 55,882,296 runs to be correct (at least up to that point).

3. We used a single program to do the bulk of the calculations; this is a much faster version of the earlier programs used for 22 and 23 and the other bounds. We have compared the output of this program with the output of the earlier versions, and with the output of an independent implementation (sharing no code), and with the output of a much simpler version that is also much slower, and found no disagreements.

4. It turns out, every single position has a distance-20 solution that can be found reasonably easily, except about 100K positions. We solved this set of positions numerous times. (We *wanted* there to be a 21).

5. The code embeds distinct methods for computing the same result (to a certain extent); we compared results with and without the "fast" code for a large set of cosets.

6. We include all sorts of checksumming of the output files, verification of the pruning tables after each run (to make sure no bits flipped), and many other defensive programming techniques to guard against errors.

7. The technique and results from it have been published over the past five years on Cubelovers, and we have had independent confirmation of many of the results by separate implementations. The code originated back in 2005, and every version of the program has been extensively checked against prior versions and against the results generated by the prior versions over this time period.

We would not be publishing this result if we were not certain of it.

I would love for there to be a nice concise mathematical proof. But so far no one has been able to come up with it. The technique we use is straightforward, the optimizations are straightforward, and we have checked the result extensively.