# Sudoku-Solver-2021

# Sudoku Solver

Authors: Declan Herbertson and Caleb Tran

**What is the problem?**

We want to investigate whether Prolog is a good choice for algorithmic puzzle solving through building a Sudoku Solver

**What is the something extra?**

Users will be able to input any arbitrary sudoku puzzle and have it solved

**What did we learn from doing this?**

We learned that while it is possible to construct algorithmic solvers statically without actively managing memory -- In this case special library helpers were required to prevent the tradeoff of linear space and active memory management (through inline ranges that would be collapsed by filters). The primary Sudoku engine was given as an example for the library used and we tried to recreate the helpers used but realized that special advanced functionality was need to support custom inline ranges. We pivoted to providing Input output via CSV and allowing the user to name and select the file they wish to solve.

**Links to code etc**

github: https://github.com/declanherbertson/sudoku

source used: https://eu.swi-prolog.org/man/clpfd.html