A sudoku solver/generator