I felt a need for distraction from work for an hour so I wrote a Python program to calculate the possible ways to do a nine dart finish in a standard game of 501. There are 3944 possible ways to do it so I won’t list them here.

The initial code attempt required 4,585,142,217,282,816 iterations, that being the total possible combinations of 9 scoring darts with a double or bull to finish. This would have taken a long (read: very long indeed) time to run but fortunately many of the iterations can be discarded because they would make it impossible to reach the target of 501. For example, if you hit a one with the first dart, there’s no point worrying about the next eight darts, you’re not going to make it.

After discarding the impossible iterations, 459,514 loops were required. This reduced the required time to around 5 seconds on my Athlon64.

**Trivia**

- It’s impossible to do a nine dart finish without hitting a treble 20. In fact you must hit at least three of them.
- There are 288 ways to do it without using 18’s or 19’s but all of them require 17’s.
- The lowest scoring dart you can throw (in the first eight) and still be left with a finish is 34 (D17).
- The lowest double you can finish on is D12
- 2,296 of the 3,944 solutions require finishing on the Bull.
- The only possible finishes besides the bull are: D12, D15, D17, D18 and D20
- It’s not possible to do a nine dart finish with more than one double in it.
- There are 540 ways to leave a maximum 170 checkout
- A nine dart 503 has over three times as many possible combinations as 501. 12,472 of them in fact.