For a standard sudoku, at least 17 digits must be given for the puzzle to have a unique solution. Computers can solve sudokus pretty quickly, and so you can test to make sure it’s solvable and that no errors are involved. Then you can test it out to make sure that a human can solve it at the difficulty level you’d like. All of the testing can be done by hand, but a computer can easily prove that there are no mistakes or duplicate solutions in a fraction of the time.

For variant sudokus (which are becoming more and more popular), computers can still solve them really efficiently, but human testing is still really important to make sure that the tricks and logic involved are appropriate in difficulty unless you’re trying to create something really, really hard. There’s a YouTube channel called Cracking the Cryptic that provides new puzzles every day, and they’ve had several creators on sharing their own methods for creating and testing their puzzles, which I found really interesting.

Also, just a big shoutout in general to [Cracking the Cryptic](https://www.youtube.com/c/CrackingTheCryptic), those guys helped get me and my wife through the pandemic with our sanity.

Sorry if I’m hijacking the thread with a ELI3-question:

Am I stupid if I can solve a sudoku? I’ve thought my whole life I’m way below in intelligence but I have smart friends who can’t seem to solve one puzzle. I always solve them granted the hard ones takes me hours some time going back to it and pause to think etc. Just want to know if it has to do with mental capacity to solve or not, serious question…

I made my own sudoku game with selectable 3 difficulty settings.

My first step was making a sudoku solver, a program that will solve any valid board. There are basically 2 ways of achieving this – brute-force / backtracking (just testing for every possible path to solution) and using common algorithms used by humans to solve. Of course – in reverse order.

First I try the easy elimination. From there, when it’s needed I use the backtracking algo. This is very slow, so it’s the last resort. It is slow, because there are many possible combinations to test. Also – I test if only ONE solution exist, if there’s more than one the board is invalid.

Let’s forget about backtracking. Sometimes a digit you can enter is obvious. This is the simples case. However – if there is only ONE such move and you must enter just that one number to proceed – this is called a bottleneck. It’s still easy to solve, but it’s tedious and unpleasant. So I discard the boards with too many bottle-necks. Then there are more advanced solving techniques and I try to solve the board using each of them counting how many times I had to use each of them to get the solution. Boards where advanced techniques were used I classify as “medium” difficulty. Then come the boards where I had to use backtracking / brute-force algorithm. It is my shortcut, because I’m too weak at Sudoku to implement better algorithms. That kind of boards I classify as “hard”.

BTW, backtracking / brute-force algo gives you a definitive answer if the board has exactly one solution. It also achieves it in reasonable time.

I tested my game on a good human player and it works exactly as expected. The “easy” boards were too easy for her, the “medium” was “not too tough” but “fun to play”, the “hard” were “challenging” to “frustrating”. Yet of course still solvable.

## Latest Answers