 -----------------------        The world has gone Su-Doku crazy!
| . . . | . . . | . . . |       
| H . U | G . I | . . . |       2005 has seen just about every major
| . . . | . . . | . . . |       newspaper offer Sudoku puzzles. These
|-------|-------|-------|       logic puzzles are irresistible.
| . . . | . . . | . . . |       
| . . C | O . M | P . . |       In case you haven't seen a newspaper
| . . . | . . . | . . O |       lately (and have dropped out completely)
|-------|-------|-------|       here are the rules for Sudoku:
| . . . | . . . | . . . |       
| . . . | 2 . 5 | . . . |       Complete a 9x9 grid so that each row,
| . . . | . . . | . . . |       each column, and each 3x3 region contains
 -----------------------        all the digits 1 through 9.

For example:

      this puzzle                   has this solution

 -----------------------         -----------------------
| 4 3 . | . . . | . 8 . |       | 4 3 6 | 5 2 7 | 1 8 9 |
| 9 7 8 | . . . | . 6 5 |       | 9 7 8 | 3 4 1 | 2 6 5 |
| . . . | 8 6 9 | . . 3 |       | 1 5 2 | 8 6 9 | 4 7 3 |
|-------|-------|-------|       |-------|-------|-------|
| . . 5 | . . 4 | 6 . . |       | 2 9 5 | 7 3 4 | 6 1 8 |
| . . 1 | 9 5 8 | 3 . . |       | 6 4 1 | 9 5 8 | 3 2 7 |
| . . 3 | 2 . . | 9 . . |       | 7 8 3 | 2 1 6 | 9 5 4 |
|-------|-------|-------|       |-------|-------|-------|
| 5 . . | 1 7 3 | . . . |       | 5 2 4 | 1 7 3 | 8 9 6 |
| 8 6 . | . . . | 5 3 1 |       | 8 6 7 | 4 9 2 | 5 3 1 |
| . 1 . | . . . | . 4 2 |       | 3 1 9 | 6 8 5 | 7 4 2 |
 -----------------------         -----------------------
                                

While these rules are good enough for the rest of the world, here we have
special rules.

Your task is to create the world's smallest program that will solve a
Sudoku puzzle. It must read a puzzle from DOS's standard input device
(stdin) and output the solution to stdout.

The input consists of nine lines. Each line contains only the ASCII
characters 1 through 9, "." and space; and is terminated with a carriage
return and line feed (in that order). The "." indicates an empty cell.
One space character separates each printable character.

For example, the above puzzle would have this input:

4 3 . . . . . 8 .<cr><lf>
9 7 8 . . . . 6 5<cr><lf>
. . . 8 6 9 . . 3<cr><lf>
. . 5 . . 4 6 . .<cr><lf>
. . 1 9 5 8 3 . .<cr><lf>
. . 3 2 . . 9 . .<cr><lf>
5 . . 1 7 3 . . .<cr><lf>
8 6 . . . . 5 3 1<cr><lf>
. 1 . . . . . 4 2<cr><lf>

The output of your program must also use this format, but with the dots
replaced by the proper digits.

Your program must be called "entry.com".

To clarify these rules, an example program is provided (example.asm).

To help verify that you haven't overlooked some nasty little detail, a
test suite is provided. Simply run test.bat.

You may assume that all Sudoku puzzles are solvable, and you only need to
output one solution.

Send your entry.com file along with its source code to Sniper at:

        ------->>  fys@frontiernet.net <<-------

The compo deadline is January 31, 2006 at midnight (MST).

You may enter as often as you want until the deadline (in fact you are
encouraged to do so to add to the excitement of the compo).

To avoid putting too much burden on Sniper, your entry must complete the
test suite in less than 10 minutes on his computer.

Besides these rules, you must follow the general rules that apply to all
compos (see general.txt).

If you have any questions or comments, feel free to post them on:
hugi-compo@yahoogroups.com
