Website development for rookies
Enjoy this conversational Sudoku analyzer. This page serves as an example of an Ajax client-server process, which process could also be used for interactive pages on your web site. Read more.
Ajax / cgi-bin

What is Ajax? Briefly, it a process by which the browser can request specific information from the server at any time after the web page has been loaded. You can see, for example, how this page can analyze the sudoku grid and give a response without reloading or recreating a new page. The Sudoku Analyzer is also a good example of using an efficient cgi-bin binary process to perform a server-side task that would otherwise take too long. This binary logic performs its complicated sudoku analysis on the fast server, then sends a very small packet of information back to your computer, resulting in a quick response even with a slow internet connection.

What this means for your website is that you may employ an Ajax process to send data back and forth between the server and the visitor's browser, in dialogue fashion. A cgi-bin binary may be used to speed up a process that may be causing long delays and poor response times. Use both of these techniques with care, and only if there is a real need.

CyberJerry Sudoku is also available in a printed book
General Information

You know the simple Sudoku rules: Each row, column, and 3x3 square must contain the digits 1 through 9, in any order. This web page can be used to solve a Sudoku puzzle, to create a puzzle, and perhaps to learn a little about Sudoku, and improve one's Sudoku solving skills.

To solve a computer-generated Sudoku puzzle: Click "New Puzzle", then enter numbers into the blank cells to solve. Note that you can ask for help along the way, and that you can change the virtual pencilled (erasable) entries to ink (indelible, sort of) as you progress.

To create your own Sudoku puzzle: Just start entering numbers, and periodically click "Analyze" to see if you have a solvable puzzle (exactly one possible solution). Click "All->Granite" at that point, and then begin to solve your new puzzle.

Notice the help buttons to explain each Control Panel function.

 Sudoku Analyzer 2.0.22 
 copyleft 2010, 2015 Jerry DePyper 

Load New Puzzle
Select the desired level of difficulty, then clickNOTE: This will irretrievably replace all current grid values
 Surprise me
Use puzzle from printed book
 English edition      Spanish edition
NOTE: This will irretrievably replace all current grid values
 Load puzzle
 Solution step 
Select an unsolved cell at which to peek, then click 'OK'
Control Panel
New Puzzle

Click "New Puzzle" to load a new solvable Sudoku puzzle. This is done using a random number generator in conjunction with the Sudoku Analyzer engine, so you get a new unique puzzle every time.

Doing this will overlay the current Sudoku Grid with new numbers.


The "Analyze" function examines the Sudoku Grid and determines if it has one solution, multiple solutions, or no possible solution. This information is displayed in the "Messages" area.

Obviously, "No solutions" indicates a misstep in solving or creating the puzzle, and you will have to erase or change one or more numbers. Multiple possible solutions means that you will have to proceed using some trial and error guesswork.

If there is one solution, "Analyze" will also rate the puzzle's difficulty level.

Pencil -> Ink

If you are confident of the numbers you have "pencilled" in so far, use this control to change them all to "ink", and so treat them as indelible.

You can undo this step later, if you need to.

Use Book

If you have purchased a printed CyberJerry Sudoku book, you may use this control to load a puzzle found in the book. You may also jump directly to a specific step in the solution, with reference to the step-by-step hints found in the printed book.

This is an excellent help for solving the more advanced puzzles found in the book, and especially for checking the accuracy of your progress in solving the paper version. Prudently using this online assistance in conjunction with the printed puzzles can rapidly advance your proficiency in solving Sudokus on paper.


The main purpose of "Hint" is to provide step-by-step hints for solving a single-solution Suduko puzzle. One hint will be shown in the Messages area. (Other hints may be available if you click "Hint" repeatedly.) The Elimination Grid will be refreshed to provide further visual clues. Click '?' below the Elimination Grid for additional help.

For a grid with no solutions, "Hint" may be able to give a clue as to where there may be a conflict, where you may have to remove or change a digit.

Currently no hints are given for grids that have multiple solutions. In these cases, you could just make your best guess at making some small change, then click "Hint" again. (Or, see the note for "Solve" below.)

Ink -> Pencil

This changes all "inked" numbers back to "pencil" so that you can erase or change them.

Clear grid

This clears the whole grid, blowing away the current Sudoku Grid entries, including the unchangeable "granite" numbers.


"Peek" allows you to cheat a bit. For an unsolved Sudoku puzzle, it will display in the Messages area the correct value of one unsolved cell.

All -> Granite

This changes all "inked" and "pencilled" numbers to "Granite", which is to say, permanently unchangeable.

This step is normally employed when you are using the Sudoku Analyzer to create a Sudoku puzzle. When you have created a grid that the "Analyze" function reports as having exactly one solution, use this function to "harden" it. Then use "pencil" and "ink" to solve the new puzzle.

Save to url

This saves the current state of the page by means of url arguments. Clicking on "Save to url" will cause the page to be reloaded with url parameters that represent the current state of the Sudoku puzzle. You can then bookmark this url or copy it from your browser's address bar to use as a hyperlink, send in an email, etc. When this url is used to reload the page at a later time, the Sudoku puzzle will be restored as it was when "Save to url" was clicked.

(The Sudoku Analyzer does not use cookies.)


The "Solve" function first analyzes the grid. If there is exactly one solution, it displays it in the Messages area. If there are no solutions, a message is displayed to that effect.

If there is more than one possible solution, up to 4 solutions are displayed. If you are creating a new puzzle and trying to work it down to one solution, study the multiple solutions displayed to ascertain which cells have multiple possibilities. If you have a grid with 4 solutions or less, you may just need to assign a number to one key cell to get a single-solution puzzle.

The main Sudoku Grid is not affected.

Undo / Redo

The Undo button allows you to "Undo" your last change to the Sudoku Grid. You may continue to Undo as many as 120 of the last changes, usually all the way back to the start of a new puzzle or to a blank grid.

You can Undo the "Pencil->Ink" and "Ink->Pencil" steps, but not the "All->Granite", "New Puzzle", nor "Clear grid" steps.

Naturally, you may use the Redo button to "Redo" one or more "undone" steps.

Start with the "Read first" button.

Terms of Use
Personal use: In the spirit of open computing and an open internet, you may use the Sudoku Analyzer free of charge on an unlimited basis. Use it as much and as often as you like, and share it freely with your friends. If you enjoy it, please think kindly thoughts toward the author (me, Jerry DePyper). If you are a believer, let that include a little prayer of blessing.

Commercial use: (For example, to generate puzzles for publication) - If there is a monetary end involved, you really ought to share an appropriate portion of the gain with me, who have worked many long hours on this page. It's your conscience.

Special terms: To license this or other work of mine, to incorporate it into your own website, or for other custom work, let's talk about your goals and arrange terms to our mutual benefit.

Please feel free to contact me with your questions, suggestions, comments, bug reports, contributions, etc.


   rev. 2015.03.28