Suko puzzles are a little different to most of our puzzles in that they are so small. Compare a Suko puzzle to a standard Sudoku puzzle, a Sudoku has 81 cells compared to only 9 cells for a Suko. This made it very tricky to find a way to differentiate between an Easy, Medium and Hard puzzle.
We don't need to have three different difficulties for every type of puzzle, but we believe it is one of the things that separates us from every other puzzle site out there. During most of the development we thought we would only be able to find a way to have easy and hard Suko puzzles - based solely on layout. We did eventually find a way to make medium puzzles.
This is an example of a Suko puzzle:
We will call the totals in the grid the quadrant totals, and we will call the totals given at the top of the puzzle the layout totals.
Everything start with the solver, and Suko is no different! These are the steps our solver will go through to solve a Suko,
We will look at the nature of the overlaps between quadrant and layout totals. We can extract extra information from these overlaps. From the example grid above, we can see that the reddish cells are completely within the top-right quadrant, this actually means we can deduce what the center cell is.
Similarly, the blue cells are completely contained within the top-left (and the bottom-left) quadrant, this means we can deduce that the top-left, and center-left cells must total 8 (22-14). In this example, this has a significant impact on the pencil marks in those two cells.
At this point, if we're not able to make any further progress, we will resort to using a backtracking algorithm. All of the steps up to now are in essence how you or I might solve a Suko grid - they have to be adapted slightly so that they can be codified in to a set of algorithms, but the fundamental ideas are the same.
Taking a backtracking approach means trying every combination of numbers, until we find the solution. We start in the top-left cell and work our way across to the right, and then on to the second row. By the time we reach this point we will definitely have some pencil marks in every cell, and we might also have some numbers inserted in to some cells. We will only try those numbers that appear as pencil marks for each cell, i.e. if a cell has pencil marks '3' and '5', we will only try those in that cell when backtracking. A naive approach might try every number from 1 to 9.
Our solver is only interested in Suko puzzles that have a unique solution. If the backtracking portion of this solver finds multiple solutions for a particular puzzle, then it will report that it wasn't able to solve this puzzle.
Compared to many of our puzzles, the Suko generator is quite simple. Here are the steps,
Generate a layout. The layout of a Suko puzzle plays a big part in how easy or difficult that puzzle will be.
This is an example of an easy layout:
And this is an example of a hard layout:
Note that for the easy layout we are always going to be able to insert one, probably two numbers straight away without needing to work too hard. Whereas for the hard layout, we need to look in depth at the pencil marks for each cell.
As I mentioned earlier, it was a little tricky to find a way to differentiate between easy, medium and hard Suko puzzles. This is how we do it,
That explains how we make and grade our Suko puzzles. They are one of the smallest puzzles we make, but they provide plenty of challenge!
We hope you found this interesting! Let us know if you have any questions, or if there is a particular step you would like to know more about!