a sudoku solver written in ruby