Python sudoku puzzle solver