Over two years ago, when I was challenged by my dad to write a sudoku program, I never could have imagined what this program would turn into. Initially it was just to be a program to find the solution to any puzzle. Now it is more… so much more.
The ability to print puzzles to paper is just the latest out of so many features that have been added to what now is called ‘Sudoku Snake.’ Hints, Cheats, Saving, Pasting, Anaysis, Equivalency Checking, and even a button that will fill in all the little numbers for you so you don’t have to take forever writing them all in one at a time, these just name a few.
I designed this program (using C++) for myself, to be everything I ever wanted in a Sudoku Program. I wanted flexibility with an easy system to enter numbers. I wanted the possible solutions to change every time I put in a number so I could see how the solution was developing as I designed the puzzle. I wanted it to be able to solve any puzzle on earth (which it can in milliseconds), and give an accurate rating for every puzzle. To give an accurate rating Sudoku Snake now uses more than 40 different solving techniques of progressing difficulty, each with a certain score associated. I’ve tested the rating system by trying to solve the same puzzles by hand, and I tell you it is more accurate than any newspaper or magazine rating you will ever find.
Since the program was initially designed to just design and analyze puzzles, it required some creative working to implement an interface to help the user try to solve the puzzle himself. Thus Solve Mode was born. Switching between design and solve mode the user can first create a puzzle (with the computer solving and analyzing it), then solve it separately (with the computer giving hints and solving tools, such as button that color in the squares)
I thought of everything I might ever want a helper program to do for me. For instance, if I’m solving a puzzle by hand, and I’m stuck and want the answer to just one single cell. If I look in the back of the book I risk seeing the answer to a lot more than one, so I included the capability to look at the answer to just one cell without ever seeing any other. Solve Mode allows two types of hints to help you when you’re stuck. It can either tell you what the next easiest solving technique is (without showing where so you can try to find it yourself), or it will highlight where the next easiest solving technique is (without saying what it is, in case you want to try to figure out the logic yourself). Of course you can also do both.