A while ago I wrote a Sudoku solver in Python that could programmatically step through the solution, solve the whole thing, or show what options were available for each location. It ended up being a good distraction while I was on a plane with no internet. However, I was on yet another long plane ride and decided to see what I could do to improve on it.
The improvements stemmed from a desire to create an automatic KenKen solver. I realized that the Python-ic approach would never work, as you have to be able to describe the borders of the boxes along with the given values and the sum/product/etc. of the specific sections. So, I decided to create something with a bit more user interaction, and what better thing than a web app!
I started by adapting the current system from Python into HTML and JS. Here's what the blank starting board looks like:
It became a lot easier to display the possible values for any given location, as whenever you click on one of the tiles, you can just display the options in some location on the screen. It also more easily lends itself to animated solutions, which while rather meaningless were still fun to look at. Here's a quick gif of an animated solution.