getting the solver to correctly brute force the problem, solving the puzzle
refactoring to move the solving into a module