This project is a solver for Sudoku puzzles. The project uses a Depth First Search (DFS) algorithm, and includes functionality to generate valid, solvable Sudoku puzzles of varying difficulty.
-
Sudoku Solver: Can solve any Sudoku puzzle of a 9x9 grid. Currently the implemented solution uses a brute-force DFS algorithm which while not the most efficient, ensures that a solution will be found if one exists.
-
Puzzle Generation: The program can generate valid, solvable Sudoku puzzles of varying difficulty.
- DFS algorithm has to start from the top left corner of the grid (0,0)
- Grid size must be 9x9
This project is developed in C#. You will need .NET 7.x to run it.
- Clone this repository to your local machine.
- Open the solution in an IDE that supports C# (such as Visual Studio / Rider).
- Compile and run the project.
If you want to use the command line, navigate to the project directory and use the dotnet run command.
- Unique Solution Validation: Ability to verify whether a given puzzle has a unique solution or multiple solutions.
- Performance optimisations: Implementation of other algorithms to improve efficency
- Bulk Generation with Multi-threading: Implementation of a mulithreaded solution to bulk-create solvable puzzles and save these in a format that can easily be exported.
- Dynamic Grid sizing: Allowing for dynamically sized grids instead of the fixed 9x9
This project is licensed under the MIT License. See the LICENSE file for details.