/smort

Solving sudoku puzzles with backtracking and visualizing the entire process

Primary LanguageRustGNU General Public License v3.0GPL-3.0

SMORT - Sudoku Meets Optimized Recursive Traversal

Preview

visualization

Menu Solving
menu solve

About The Project

This is a program that runs in the terminal. The user can put input to fill in the sudoku grid and then proceed to have it solved either instantly or slowly to get a visualization of the process to have a better understanding. We can think as if the solution is hidden in a search tree. The backtracking algorithm traverses this search tree recursively in depth-first order. This is much more efficient than bruteforcing, which would take a very long time even on the latest and finest computers due to the nature of sudoku puzzles and how many possibilities there are.

Prerequisites

You have to have rust readily installed on your system. It is highly recommended to use rustup for installing rust. You can find more details on how to install rust on your system here

Compilation

You can compile the program simply by running

cargo build

Usage

After having compiled the program, you either manually execute the binary or run

cargo run

Contributing

The fact that anybody can contribute is what makes Free and Open Source Software the best tool to learn and create. If you have any suggestions regarding the project, do not hesitate fork the repo and create a pull request.

License

SMORT is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

See LICENSE for more details.

Contact

If you need to contact me regarding the project for any reason, please open an issue or create a pull request.

Project Link: https://github.com/monsieuremre/smort