Software project course of B.Sc of Computer Science, Tel Aviv University.
Description: The project consists of 5 main parts:
- The game logic.
- The console user interface - allowing the user to edit and create new Sudoku in any size, saving and loading Sudoku from files and enter commands like undo/redo.
- The ILP solver algorithm - used for validating the board or generate new Sudoku.
- The random Sudoku generator.
- The backtracking solver for determining the number of different solutions.
*For the ILP solver we used the Gurobi Optimizer, an optimization solver for linear programming.