Sudoku HowTo

# Who am I and Why is this here?

Sudoku Helper Review January 2018

Sudoku Helper was recently reviewed at www.ilovefreesoftware.com

See the review of Sudoku Helper here

Happy Learning

Update March 2015

Version 4.1 release.

I have updated the solver to fix some missed instances of strategies and it also works faster.

The interface now allows for a value that has been placed in a cell to be removed. The only way to do this previously was to use Undo until the solution for the cell is question was removed. If a value is removed from a cell the candidates for the whole puzzle will be reset.

There is also the option to wok on different puzzle sizes. The Sudoku Helper support 4x4, 9x9 and 16x16 puzzles. Solving and creating 16x16 puzzles will be noticeably slower. There are so many more options to check on the larger puzzles each step takes just a little longer. The create process is sometimes noticeably longer especially if you request a puzzle with only specific strategies.

Original Version 2007

I have been solving Sudoku puzzles in planes, trains and automobiles for a couple of years. I got the Sudoku bug when I used the daily puzzle in a local newspaper as a holiday activity with my children in 2005. We managed to solve most of the puzzles published in this particular newspaper and had a lot of fun discussing why we made the decisions we did about what value goes where.

Since then I have bought numerous books of puzzles and used them as a way to pass the time on flights and trips. I developed a few solving techniques and thought life was good. I could solve most of the puzzles in the "off the shelf books" you could buy at airports and even managed to help a few colleagues at work finish puzzles they could not solve. I was feeling quite good about my new found Sudoku abilities. Oh, how wrong we can be, when embedded in our own blissful naivety.

For many of the puzzles I could not solve, I had noticed particular patterns that I figured must be usable to make the next decision but I was not able to make consistent use of these.

I looked at a couple of the Internet sites that offered online puzzles to solve and found that the time taken for me to complete puzzles was about average, but mostly Sudoku was an activity I used to pass time when traveling.

Over time I formed a theory. If the basic strategies of solving Sudoku could be implemented in a computer program so that it never made mistakes or missed patterns then the program should be able to solve any puzzle.

I use the word "puzzle" here to mean a Sudoku that has a unique solution. I acknowledge that not all people believe this is a requirement of a Sudoku puzzle.

So, at the end of 2007 I started on the program. Its not that hard to find a few cells with the same values in them and make some decisions about where values can go. Right? (I am certainly not trying to diminish any programmers skills here, just trying to make an observation on the scope of the problem at hand.)

Well, how wrong I was. Not so much about how hard the program was, at least for the basic solving techniques, or making a program what would never make a mistake or miss a pattern, but the part about the simple strategies being able to solve all puzzles was a complete miss.

The program worked pretty well, but I would find a puzzle that it could not solve. I would work out how to solve it and implement that process in the program. "I got it now.", I would think. Soon enough there would be another puzzle that my program could not solve.

Up till this point I had worked out the solving strategies I was using myself and being the somewhat stubborn person I am, thought "I should be able to solve any puzzle with my own logic". Wrong again.

Eventually, I broke down and started to research strategies and techniques on the Internet. Wow, what a lot of stuff there is out there and I noticed a number of people who had started with the same theory I had. Now, my theory is long since proved very wrong, but now I have a new challenge. Make a program that can solve any puzzle using logic. If you are reading this, you have probably already looked at the results I have so far. I am not there yet but it's getting better.

For those that are interested, I started my solver using JavaScript. This meant it was relatively easy to display the results but it created a rather large file of JavaScript code quickly. The size of the code was not helped by the fact that I like to use variable names that make sense when I read the code later.

As I found more complicated solving techniques I decided to move the code that does the solving work to java servlets and maintain the presentation in JavaScript. I am not a professional programmer but I have worked in the IT industry for many years and have some understanding of the languages and tools used to make websites. Learning more java and building a Sudoku solver all at once has been a very interesting challenge. One of the hardest problems I faced was to get a relatively simple and inexpensive way to debug the logic in the java servlets. But I digress.

My stubbornness now is about doing it myself. I have learned there are many websites that have lots of examples and explanations of the strategies and techniques and I have read from a number of them. See the acknowledgments on the side bar. This is where I have learned most of the new techniques and then I have turned them into code. There are also many discussions about the process of implementing solvers and puzzle creation programs with copious code samples. I have not used any of the code samples I have found in my solver, but have created all the code and logic myself.

The documents I have written on the strategies are my interpretation of how the techniques work and the terminology I have used are the words I have read the most often in the research I have done.

I make no claims that this website is any better, faster, bigger and more correct than any other similar creation published before me. This website and the service it offers is the result of my own personal challenge. Making it available to the world to see is a way to find out if it is good enough to get people to use it.

Good Luck, and Happy Sudoku Solving.

13 March 2024
by John

If you click on a cell on a working puzzle, two colored circles will be visible under the cell. If you click on either of those it will color the cell for you
13 March 2024
by Jack Berryman

Can I color specific cells? If so, how do I do it?
13 August 2022
by Rego

Thanks a lot John for this site. Great work. It nice explains the next move. However the strategy used for the next move is not visible. At every move, the explanation box just displays the message - "Please wait. The server is working on the information you requested." It would be helpful if you display the strategy used for each step.
5 June 2020
by John

The strategy used for each step is shown at the top of the explanation box.
5 June 2020
by Sammy

In the solver, when I click on next the solver implements some strategy and does 1 action. However, it is not visible which strategy it used. For example, I had to redo the same step checking different strategy boxes to determine the strategy used. thus could you also display the strategy used for each step?
7 November 2019
by John

Thanks for the positive feedback
5 November 2019
by Daniel

Thanks a ton for your work & this site!

I too started to build my own solver, based on my own knowledge, being motivated by way too much confidence in my own solving skills. Finding your site has helped me leap-frog forward towards thinking about a general solver framework that can utilize N independent techniques, each focused on finding explicit answers or reducing the possibility space.

The ability of your Helper to describe and invoke the various methods is a wonderful learning aid, and a great gift to others.
10 December 2016
by chloe

Bit disappointed Zac and Ellie didn't get a mention. I got stuck on my puzzle so I had to look it up.

Responses to articles are public.

Use the contact option on the menu to send an email to the website administrator if you do not want your comment visible to all users.
* Feedback
* Enter the letters from the CAPTCHA image.
* Required Input
To submit this form, enter the letters you see on the red CAPTCHA image in the box next to the image. If you cannot read the image click 'New CAPTCHA' to get a different CAPTCHA image.

Using CAPTCHA verification helps reduce SPAM and web site abuse by making it harder for other computers to automatically access pages on this website.
Sudoku Rules and Techniques

Sudoku Rules

Acknowledgments

I would like to acknowledge these sites referenced for strategy ideas and solving techniques.

SudokuWiki.Org by Andrew Stuart
PaulsPages.co.uk by Paul Stevens