This   HELp   page is the documentation for the   $SUDOKU   REXX program which can be used to solve (or help solve) a sudoku puzzle.

A note about the filetype.   This documentation file was written before Windows/95 and was limited to an 8.3 naming convention.


The following text file is the documentation (HELp) for the   $SUDOKU.REX   program.

The  $SUDOKU  command will display a sudoku puzzle, cells/rows/columns of which
may be specified.     A sudoku puzzle is a grid of nine 3x3 cells  (for a total
of 9x9 cells)  that can contain the digits 1──►9.    The object is to fill in
the puzzle so that every row, column,  and  3x3 box  has every (unique) digit.

To show several supplied sudoku puzzles, the  $SUDOKU#   program can be used to
display over 12,600 different puzzles.   To see that help, issue:   $H $SUDOKU#

╔══════════════════════════════════════════════════════════════════════════════╗
║                         {CLearscneen | NOCLearscreen}                        ║
║                         {HIGHLightsingles | NOHIGHLightsingles}              ║
║                         {PUZZle .d..dd..d.......d..dddd.ddd...ddd.dddd....}  ║
║                         {COLumn n .d..dd..d.}                                ║
║                         {ROW    n ...d..d.dd}                                ║
║  $SUDOKU                {CELL  rc d}                                         ║
║                         {PRUNEEXCLusives}   {PRUNELINEs}                     ║
║            ?            {PRUNEMATches}      {PRUNEONLYs}      {PRUNESINGLes} ║
║            ?AUTHOR      {PRUNEALL}                                           ║
║            ?FLOW        {SHORTgrid}                                          ║
║            ?SAMPLES     {SHOWCELL rc,xy,ab,...}                              ║
║                         {SHOWBOXes bbb}    {SHOWCOLs ccc}    {SHOWROWs rrr}  ║
║                         {SHOWCOMBinations}                                   ║
║                         {SHOWGrid | NOSHOWGrid}                              ║
║                         {SHOWINFOmation | NOSHOWINFOmation}                  ║
║                         {SHOWPOSSibles}                                      ║
║                         {SHOWONELINE}                                        ║
║                         {SIMPLE}                                             ║
║                         {tops}                                               ║
╚══════════════════════════════════════════════════════════════════════════════╝

───where:

?          shows this help file              (press  ESC  to quit when viewing).

?AUTHOR    shows the author of this program.

?FLOW      shows the external execution flow of this program.

?SAMPLES   shows some sample uses            (press  ESC  to quit when viewing).

CLearscreen     clears the screen before any grid is shown.
                                                    The default is:  CLEARSCREEN

NOCLearscreen   doen't clear the screen before any grid is show.
                                                    The default is:  CLEARSCREEN

HIGHLightsingles  highlights all specified digits  (if the grid is shown).
                  A highlighted digits is prefixed and suffixed with a
                  minus sign (-), or shown in yellow if running on CMS or
                  with PC/REXX.              The default is:  NOHIGHLIGHTSINGLES

NOHIGHLightsingles  doesn't highlight specified digits  (if the grid is
                    shown).                  The default is:  NOHIGHLIGHTSINGLES

PUZZle .d..dd..d.......d..dddd.ddd...ddd.dddd....    (for example)
                The character string that follows  are the digits  to be placed
                into the puzzle  (going from left to right).  row by row.   Any
                position  that has a  period (.)  is skipped over.    The  10th
                character would be the start of row 2, the 19th character would
                be the start of row 3, etc.  The character string is considered
                to "wrap around",  row to row.  Up to 81 chars may be specified.

COL n .d..dd..d.    (for example)
                D  is the column to be specified and must be  1 ───► 9.    The
                character string that follows  are the digits  to be placed  in
                that column  (going from top to bottom),  and any position that
                has a period (.) is skipped over.  I.E., to set  column 9  (the
                rightmost column) to    blank 3 blank blank 4 7 blank 8,    the
                following could be specified:   col 9 .3..47.8     (the rest of
                the column is left blank).   Up to 9 digits  (or chars)  may be
                specified.  Any number of   COL   keywords may be specified and
                they may be given in any order.

ROW n ...d..d.dd    (for example)
                D  is the  row   to be specified and must be  1 ───► 9.     The
                character string that follows  are the digits  to be placed  in
                that row (going from left to right),  and any position that has
                a period (.) is skipped over.     I.E.,  to set row 5      (the
                middle row) to      blank blank 6 9 blank 5 blank 2,        the
                following could be specified:    row 5 ..69.5.2       (the rest
                of the row is left blank).    Up to nine digits  (or chars) may
                be specified.   Any number of   ROW  keywords  may be specified
                and they may be given in any order.

CELL rc d       R  is the  row   to be specified and must be  1 ───► 9,
                C  is the  col   to be specified and must be  1 ───► 9,
                D  is the  digit to be  placed   and must be  1 ───► 9   or  "."

                I.E.,  to set the 4th cell in the grid (row 1, col 4)  to the
                digit 7, the following could be specified:   CELL 14 7
                Any number of  CELL  keywords my be specified and they may be
                in any order.

PRUNEEXCLusives will prune any possible values that are the only value (digit)
                for a box.  If  PRUNESINGLE  is in effect,  than this digit is
                made into a specified digit  (solves that cell).
                                              The default is:  NOPRUNEEXCLUSIVES

PRUNEMATches    will prune any possible values that are matched up (two pairs,
                three triplets, ...) and then removes them from any other
                possible on the same row and/or column.   If  PRUNESINGLE  is
                in effect, any possible values that have now become one digit
                are made into a specified digit.
                                                 The default is:  NOPRUNEMATCHES

PRUNEONLYs      will prune any possible values  that are the  only  digit  in a
                row or column,  and then then  removes all other digits in that
                cell, and if just a single digit remains,  makes it a specified
                digit (solves that cell).          The default is:  NOPRUNEONLYS

PRUNESINGles    will prune any possible values that have a single value (one
                digit) to be as if it were a specified digit.    This is the
                simplest form of pruning.        The default is:  NOPRUNESINGles

PRUNELINEs      will prune any possible values that exist in any row or column
                that can only can exist in a particular row or column in a
                box.                               The default is:  NOPRUNELINEs

PRUNEALL        will prune all of the above  PRUNExxx.
                                                     The default is:  NOPRUNEALL

SHORTgrid       shows a shortened versin of the grid.
                                                    The default is:  NOSHORTGRID

NOSHORTgrid     shows a   full    versin of the grid.
                                                    The default is:  NOSHORTGRID

SHOWBOXes bbb   when showing POSSibles,  only those boxes   (BBB...)  specified
                have their possible digits shown,  where  B  is the box
                number(s)   and must be  1 ───► 9.
                The boxes are numbered  left to right, top to bottom,  with the
                top left-most box is 1, the middle box is 5, and the 1st box in
                the middle row is box 4,  the 1st box on the last row is box 7.
                                                     The default is:  all boxes.

SHOWCOLs ccc    when showing POSSibles, only those columns  (CCC...)  specified
                have  their possible  digits  shown,  where   C   is the column
                number(s)   and must be  1 ───► 9.
                The columns are numbered left to right.
                                                    The default is:  all columns

SHOWROWs ccc    when showing POSSibles,   only those rows  (CCC...)  specified
                have their possible digits shown,   where    R    is the row
                number(s)   and must be  1 ───► 9.
                The rows are numbered top to bottom.
                                                       The default is:  all rows

SHOWCOMBinations    shows the number of combinations of all the possible
                    values.                  The default is:  NOSHOWCOMBinations

NOSHOWCOMBinations  doesn't show the number of combinations of all the
                    possible values.         The default is:  NOSHOWCOMBinations

SHOWGrid        shows the sudoku puzzle  in a grid  after  the digits are
                specified,  after  computing  the  possible values  (if wanted),
                after each pruning (if any).           The default is:  SHOWGrid

NOSHOWGrid      doesn't show the grid.                 The default is:  SHOWGrid

SHOWINFOmation    shows various information messages such as screen titles,
                  action being taken, etc.      The default is:  SHOWINFOrmation

NOSHOWINFOmation  doesn't show the informational messages.
                                                The default is:  SHOWINFOrmation

SHOWPOSSibles   shows what digits are possible for each empty cell.
                The   SHOWGrid   option  must be  ON,  and  the cells shown are
                restricted (if given) by   SHOWCELL,  SHOWCOLs,  and  SHOWROWs.
                                               The default is:  NOSHOWPOSSibles

SHORTgrid       shows a shortened versin of the grid.
                                                    The default is:  NOSHORTGRID

NOSHORTgrid     shows a   full    versin of the grid.
                                                    The default is:  NOSHORTGRID

SHOWONELINE     shows a the puzzle as speiified as line line of:
                ....dd....d.d.d..d.....d....d.dd...d.....d....d   (for example).
                Up to  81  characters  may be shown,  and  any trailing periods
                aren't shown.                     The default is:  NOSHOWONELINE

                +---+
SIMPle     uses |   | for the boxing characters.       The default is:  NOSIMPle
                +---+

                ┌───┐
NOSIMPle   uses │   │ for the boxing characters.       The default is:  NOSIMPle
                └───┘

tops       are any or all of the following  $T  .X=xxx options.


────────────────────────────────────────────────────────────────────────────────

Some (but not all) of the  $T  options are:   (issue    $T ?    for more help)

────────  ──────────────────────────────────────────────────────────────────────

.I=nnn    indents the messages   nnn   spaces,   the default is 0.

.C=color  sets the  color  of the messages,  there is no default.

.H=color  sets the highlight color of any parenthesized text,  there is
          no default.

.F=fff    writes the information (in addition to typing it) to the file,  fff
          there is no default.

                                       Ω