While the main solving function is now cleaned up, I am not very happy with the code that checks the validation on each cell.
I am not going to go through each step here, as the pattern is well established now. Pull out of the function anything that is a distractor. Once you have the heart of the algorithm, clean it up. Then put things back together.
Continue reading