Rainmeter Sudoku SolverFlyingHyrax on DeviantArthttp://creativecommons.org/licenses/by-nc-sa/3.0/https://www.deviantart.com/flyinghyrax/art/Rainmeter-Sudoku-Solver-419344963FlyingHyrax

Deviation Actions

FlyingHyrax's avatar

Rainmeter Sudoku Solver

By
Published:
15.8K Views

Description

This skin solves Sudoku puzzles using my Lua implementation of Peter Norvig's Python solving algorithm.
It doesn't really have any practical purpose - if you actually like Sudoku, then you'll solve puzzles by hand; and if you're actually trying to crack Sudokus algorithmically, then you'll probably write your own solver (and Rainmeter is not the best medium).  I just wrote it as a personal exercise.  It should solve any valid Sudoku grid - though if you don't give it enough constraints (clues) then it will only provide one of multiple possible solutions.

The coolest script feature is a "bullet time" mode - when it's on, the Lua script will update the skin every time the algorithm assigns a value to a cell, so you can watch the program solve the puzzle in slow motion.  For example, here's a .gif showing the skin solving Arto Inkala's 2010 puzzle.  It can be turned on and off by using the skin's context menu.

How to:
  • Left-click a cell to show a digit chooser for that cell
  • Right-click the chooser to dismiss it
  • Right-click a filled cell to clear it
  • Scroll up/down on a cell to increment/decrement its value
Once you've entered your clues, just hit "solve."  "Clear grid" does exactly what it says on the tin.  In the context menu, you can toggle the slow motion effect and switch the skin between light and dark versions.  Note that both context menu actions require the skin to refresh, so if you first fill in the grid, then use the context menu, the grid will be cleared.  Also, this skin requires the latest release version of Rainmeter 3.0
Comments9
anonymous's avatar
Join the community to add your comment. Already a deviant? Log In
balazslaci's avatar

Hi,

I'm working on a Sudoku Rainmeter skin (a game, not a solver). The skin is ready, but now I'd like to add a solver lua script, which could solve the grid, on a button click. I found your Sudoku solver skin and found it interesting, but despite I'm working by a few days onto it, I can't modify your lua script to match my purposes. So, I'm asking you, if you can and have time, to assist me onto this.

Thank you