Sudoku solver/generator written in haskell