some background on Hal’s Sudoku Grid

What is Sudoku?

Each sudoku puzzle is a 9x9 grid with some numbers filled in. The object is to deduce the numbers that go in the blank cells. The puzzle is solved when each cell in the grid has a number from 1-9, and each number appears exactly once in each row, each column, and each of the nine 3x3 boxes.

Our newspaper started carrying sudoku in August of 2005. Their original source was Pappocom, but they quickly switched to Universal Press, and started publishing the URL of a Wikipedia article on Sudoku.

There are also lots of books. Each offers a bit of history: one credits Euler with inventing these (apparently confusing them with the less-restrictive “Latin Square”), while another says they appeared years ago in the U.S. before catching on, more recently, in Japan. The modern credit seems to go to Dell Magazines, which has published them under the title “Number Place” since 1979.

According to an AP article, the Japanese name “sudoku” means “single number,” perhaps implying there is only one correct choice of value for each empty cell.

top of page

How Puzzle Codes Work

Puzzle codes are a shorthand, URL-compatible expression of a sudoku puzzle. You can use them with the Sudoku Grid to save a puzzle (just the given numbers, not your work) two ways:

• copy and save the Puzzle Code field, so you can paste the code back into the field and use the Load From Code link; or
• after a Load From Code, save the browser’s location address, which incorporates the code as a “search” parameter.

Codes are also a quicker, easier way to copy a newspaper puzzle into the grid. (I am a programmer; therefore, I’m impatient and somewhat lazy – but willing to work at being lazy!). With a little practice, writing a code is quicker than entering the given numbers cell by cell. You can type a code, load, then check for mistakes, and easily correct errors and load again. (I always check from the bottom right, catching spacing errors first.)

You can also get a code by setting all the “givens” in the empty grid and hitting Start.

A puzzle code summarizes the grid top to bottom, reading each row left to right. “Given” numbers (1-9) are simply copied into the code. Sequences of empty cells are represented by lower-case letters: a for one cell, b for two, etc. You can just continue the count from the end of one row to the beginning of the next, and you don’t have to code anything for empty squares after the last given number.

You can string together letters representing groups of empty cells. If you don't like translating counts into letters, you can just use an a for each empty cell. For example, 27 empty cells could be represented by:

• za (26 + 1 = 27) – this is the way the Start function always codes it;
• aaaaaaaaaaaaaaaaaaaaaaaaaaa (just banging the a key once for each cell);
• many other combinations, such as mn (13 + 14 = 27) or jih (10 + 9 + 8 = 27).

The theoretical maximum gap is 34 empty cells. A larger gap would allow a proof that the puzzle has more than one solution.

top of page

Changes to interface behavior

This is a record of changes (I hope, improvements!) to the Sudoku Grid.

Mar. 26, 2010:

• After loading a puzzle-code grid, make sure the backgrounds of all the cells are white. (Some browsers darkened the “given” cells.)

Dec. 2, 2006:

• Cell-value options in the “select” widget are rewritten, including representing blank cells with periods (.), to allow values to be selected using the keyboard as an alternative to a mouse. This doesn’t solve the accessibility problems, such as navigating the grid, but it’s a small step in that direction.

Oct. 4, 2006:

• The Search type selector and the search for available cells is added.
• The first click of the (renamed) Note Clear button erases only the scratch areas in cells with selected values.
• Puzzle code support for upper-case letters (an unnecessary hexadecimal coding feature) is removed.

Dec. 13, 2005:

• The Check button can be used before the grid is completely filled in.
• The Possible button won't change any scratch-space entry containing an equals sign [ = ].

top of page