Sudoku solver written in Haskell