Sudoku Difficulty Ratings

How do we rank the difficulty of Sudoku puzzles?

Many newspapers and Sudoku sites rate their puzzles simply on how many values there are in the grid to begin with. After all, the more you’re given, the easier it must be, right?

Well sometimes that’s true (and it is for the easiest puzzles), but after playing many many Sudoku by hand with pencil and paper, I found that the really difficult puzzles were those that required use of more challenging techniques to be able to solve them.

Our puzzles are rated as follows:

Level Average Difficulty Score
Beginner 4000
Easy 4900
Medium 6000
Tricky 7600
Fiendish 10000
Diabolical 18000
Sudoku Rating Method

The scores for each puzzle are determined not just by how many cells there are to fill in, but also how many different techniques it takes to complete them, and how many times each one is used.

The most difficult puzzles of all are the ones that require a very wide range of the most challenging techniques – and for these the difficulty of the techniques far outweighs the number of cells to fill in!

Techniques and Costs

Our solver goes through a puzzle like a human player would – it looks for the easiest opportunities first, and then only if it can’t spot an easy technique to make some progress, steps up and tries more and more complex tools on the puzzle until it finds one which works and allows progress again.

It cotinues to do this until the puzzle is solved – or if it can’t find a technique that will work, it will declare the puzzle unsolvable by logical techniques!  It’s always possible that it is solvable by other techniques, as people have devised lots of their own weird and wonderful methods!  The computer solver doesn’t use guessing (nishio), or the ariadne’s thread technique to solve the puzzle as those aren’t methods that are usable by normal human players – though we’ve had a few rare people get in contact to say that they do use them too.

We assign each technique a “cost” to use. The higher the total cost, adding up over the whole solution, the harder the puzzle!

We also decided that the first use of a technique is usually the hardest, but that if you understand the technique, then applying it again won’t be quite such a hard step, so the cost for subsequent uses is lower for the harder techniques.

Here, if you’re interested, are the scores that we use for each of the techniques:

Technique Code Cost for first use Cost for subsequent uses
Single Candidate sct 100 100
Single Position spt 100 100
Candidate Lines clt 350 200
Double Pairs dpt 500 250
Multiple Lines mlt 700 400
Naked Pair dj2 750 500
Hidden Pair us2 1500 1200
Naked Triple dj3 2000 1400
Hidden Triple us3 2400 1600
X-Wing xwg 2800 1600
Forcing Chains fct 4200 2100
Naked Quad dj4 5000 4000
Hidden Quad us4 7000 5000
Swordfish sf4 8000 6000

Sometimes the puzzles are slightly harder or easier, because of differences in how many of each technique are required. There’s a wide spread of difficulties, but to fit them into easily understood difficulty categories they are grouped within a certain range.

Eagle-eyed readers will spot that these ranges have some overlap – the most difficult Medium puzzles would be similar to the easiest Tricky puzzles – this is deliberate, because it allows the generator an extra bit of leeway as it works to create a puzzle that’s still within an acceptable range.

Level Lowest Difficulty Score Highest Difficulty Score
Beginner 3600 4500
Easy 4300 5500
Medium 5300 6900
Tricky 6500 9300
Fiendish 8300 14000
Diabolical 11000 25000

This method of evaluating Sudoku difficulty came about after a great deal of thinking (and a lot of coffee!). At a time when most developers were making computer generated sudoku with no thought to the actual human solving difficulty, this was quite a breakthrough. It was originally proposed and explained on the Sudoku Programmers Forum, in Summer of 2005, and the general method has been used by a number of programmers since!

How Do We Create Sudoku?

Because we want to create a Sudoku which has a difficulty in a particular target area, we use a Reductive method. We played around with a few methods, and we found that this was the best method for creating Sudoku – at least for us!

Our creator is actually a wrapped around our solver, so we work by trying lots of puzzles until we get to one which we can solve and fits the kind of puzzle that we want.

Here’s how it works: