solves a sudoku puzzle