I've been addicted to Sudoku since I knew the game and I play this game almost daily in my cellphone. However, sometimes the puzzle that I tried to solve is quite hard because I need to 'guess' a value at some point. To clear my frustation, I made SudokuSolver.m to solve any given Sudoku puzzle. This m-file includes random guessing scheme, so, when it is given an empty Sudoku puzzle, it will solves it and as the result, it generates a random Sudoku puzzle. After that, another m-file, Sudoku.m was made to generate user-interface for SudokuSolver.m.