Sudoku is a logic based number-placement puzzle, The objective of the puzzle is to fill a n * n grid with digits so that :- Each column of the square contains each of the numbers from 1 to n exactly once. Each row of the square contains each of the numbers from 1 to n exactly once. The Code Code: correct = [[1,3,2], [2,1,3], [3,2,1]] incorrect = [[1,2,4,3], [2,3,1,3], [3,1,2,3], [4,2,2,4]] def check_sudoku(game): n = len(game) if n < 1: return False for i in range(0, n): horizontal = [] vertical = [] for k in range(0, n): #vertical check if game[k][i] in vertical: return False vertical.append(game[k][i]) if game[i][k] in horizontal: return False horizontal.append(game[i][k]) return True print check_sudoku(correct) print check_sudoku(incorrect) Output :- Code: True False Conclusion The above code would work for any sudoku grid, like 3 x 3, 4 x 4, 9 x 9 etc. Now next time someone asks you to check his/her solved sudoku just feed that into this program and give them the answer , That's easy :pleased: isn't it?