So in an effort to get back on track with things to talk about, today I’m going to talk about another one of my ideas that have been tossing around in my head for a while. I really enjoy playing Sudoku games, and they have a fairly logical way that you go about solving them. Therefore, I had the idea to see if I could write a program that solves a given Sudoku puzzle.
The first iteration could be a fairly stupid brute force check that goes through each empty space, then starts trying numbers. It would have to check the row, column, and square. If a match was found, it would be inserted, otherwise an array of “possible answers” could be added. As we get more information, we need to modify these possible answers until it is down to one possible answer, and then it can be inserted as well. This is already sounding pretty complex, but its a stupid algorithm and doesn’t take much thought to run through.
To make something more complex, there are a variety of algorithms described here that could also be implemented. Of course, with any algorithm project, one has to take into account the complexity and accuracy of the algorithm and the tradeoffs that come along with that. Nonetheless, I think it would be a fun project to undergo. I am also told by my friend Nathan that this problem has something to do with a research of his, so maybe I’ll go confer with him about it.
Until next time, readers…
(If you’re wondering what this “Day 5” business is about, check out my blog post describing my writing challenge here .)