A functional sudoku solver. Solves all 50 sample problems of Project Euler #96 in a few seconds.