The board maker creates a grid with unique solution, thus the Sudoku is always solvable. Its difficulty can be adjusted down below. Once a new board is initialized, you can start filling the cells. The program shows if your solution is correct(⬤) or not(⬤). You can also run the solving algorithm by clicking on the Solve button.
The solving algorithm uses backtracking and optimized heuristics. Each turn, it picks the cell with least candidate solutions, and check if a valid solution exists. If the board is filled entirely, the solution is found. If the currently filled cell makes the solution goes against the rules, it goes back.
Difficulty level