Sudoku is the most known brain puzzle game in the world. Everyone thinks the game came from centuries but it is only about 40 years old game. The inventor, Howard Garns published the first modern sudoku in 1979.
Every sudoku puzzle is unique. It constitutes 9 boxes, 9 rows, 9 columns, and 81 cells. A cell can be 1 to 9. And every box, row and column contains numbers 1 to 9 once.
I’ll share the sudoku solver framework with C++ and Qt in this blog. And I need to say this is not a sudoku game. This is a sudoku solver.
Sudoku has technics. Of course, when we solve a sudoku puzzle, we probably solve instinctively not using any named method such as X-Wing. I think the best thing is that also. Using methods can reduce advanced brain development. Some sudoku games can be very very hard. We can’t solve them instinctively. That’s why we have to use technics if we want to solve these hard sudoku games.
If we put possibility numbers inside every cell we may figure out the technics easily. That’s why putting candidates is really necessary. In this application, the candidates come automatically. And if some cell is solved, the affected cells’ candidates are changed.
For using solving technics, every cell should be encapsulated including its own assets. That’s why the micro part of the software is a cell object.
Here are some features and objects of the sudoku framework:
Github Link: https://github.com/oguzemrec/sudokuSolver