This is a project that displays the use of a search algorithm well. I created a basic window that allowed for the generation of a random sudoku puzzle from a list of puzzles that I hard-coded into the program. You can choose the difficulty of the puzzle you want or you can enter your own puzzle. The game provides a successful search that returns a valid number for a particular unit ( shown in green ), a search that gives back a valid row ( yellow ), column ( off-white ), or cell (tan). As you're playing the game you can select a square and the text field at the bottom will tell you all the available numbers for that specific unit based off of the numbers already used in the row, column, and cell. As you play you can check your progress which indicates which units are invalid and whether you can even win at this point. If you have given up you can just get the solution. This project was done over the course of 2 weeks.