Ok, I'll try with Array!bool instead of bool. I now renamed a few things, added a few extra checks and generalized bearophiles modifications. Now the only thing keeping it from solving 25 x 25 size sudoku's is the way I input numbers :)
However, I now have a very strange issue. Compiling with dmd -O -release -inline works but compiling with dmd -O -release -inline -noboundscheck gives the following compile time error: Assertion failure: 'semanticstarted == 2' on line 829 in file 'module.c' abnormal program termination Code is at http://dpaste.dzfl.pl/41a01039 I can't test on gdc because compilation of the aur sources failed on my laptop and I'm to lazy to try and determine the source of the error :p Also, why do you use enum's and not consts ?