Exact Cover Matrix

This table connects all possible candidates (on the left) with the constraints they correspond to (on the right). All 9x9x9=729 candidate possibilities are listed along with all 9x9x4=324 constraints. An actual exact cover matrix is a binary matrix -- all 1s and 0s. This version uses digits 1-9 simply for easier reading. Because we have some clues, some of these candidates are no longer possible -- they have no corresponding constraints. The exact cover problem amounts to finding the set of candidate-rows that "exactly covers" the columns with one value per column. The "cand/N" line counts the number of marks in each column. When this line reads all 1s, we are done. (If you solve the puzzle, you will see that this is the case.)

Sudoku Assistant, as all solvers do, solves this problem by investigating what the logical consequences are of selecting various subsets of candidate-rows. A naked pair -- four specific candidate-rows--for example, might require that certain columns have a mark in them. That would eliminate any candidates from the solution that would require additional marks there. The essence of the problem is to eliminate candidate-rows until just the "right" rows remain. To see how this works, check out these exact cover examples.

3D Medusa, as all techniques, follows these connections to relatively simple logical inconsistencies. Hypothesis and (dis)proof goes further, looking for inconsistencies deeper along the solution.

An alternative, more efficient algorithm, the Dancing Links Algorithm (DLX), uses a clever and very efficient computational process of reversibly doubly-linked data structures to explore all possible solutions of a puzzle through brute-force trial and error. DLX is the method of choice for rapid finding of all possible solutions to Sudoku puzzles.

       cell constraints (only one of value in each of 81 cells)------------------------- row constraints (only one of 1-9 in each of 9 rows)------------------------------ column constraints (only one of 1-9 in each of 9 columns------------------------- block constraints (only one of 1-9 in each of 9 blocks)--------------------------
       0        1         2         3         4         5         6         7         8  1        2        3        4        5        6        7        8        9         1        2        3        4        5        6        7        8        9         1        2        3        4        5        6        7        8        9        
       123456789012345678901234567890123456789012345678901234567890123456789012345678901 123456789123456789123456789123456789123456789123456789123456789123456789123456789 123456789123456789123456789123456789123456789123456789123456789123456789123456789 123456789123456789123456789123456789123456789123456789123456789123456789123456789

cand/N 999999999999999999999999999999999999999999999999999999999999999999999999999999999 999999999999999999999999999999999999999999999999999999999999999999999999999999999 999999999999999999999999999999999999999999999999999999999999999999999999999999999 999999999999999999999999999999999999999999999999999999999999999999999999999999999 
r1c1#1 1                                                                                |1                                                                                |1                                                                                |1                                                                                |
r1c1#2 2                                                                                | 2                                                                               | 2                                                                               | 2                                                                               |
r1c1#3 3                                                                                |  3                                                                              |  3                                                                              |  3                                                                              |
r1c1#4 4                                                                                |   4                                                                             |   4                                                                             |   4                                                                             |
r1c1#5 5                                                                                |    5                                                                            |    5                                                                            |    5                                                                            |
r1c1#6 6                                                                                |     6                                                                           |     6                                                                           |     6                                                                           |
r1c1#7 7                                                                                |      7                                                                          |      7                                                                          |      7                                                                          |
r1c1#8 8                                                                                |       8                                                                         |       8                                                                         |       8                                                                         |
r1c1#9 9                                                                                |        9                                                                        |        9                                                                        |        9                                                                        |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r1c2#1  1                                                                               |1                                                                                |         1                                                                       |1                                                                                |
r1c2#2  2                                                                               | 2                                                                               |          2                                                                      | 2                                                                               |
r1c2#3  3                                                                               |  3                                                                              |           3                                                                     |  3                                                                              |
r1c2#4  4                                                                               |   4                                                                             |            4                                                                    |   4                                                                             |
r1c2#5  5                                                                               |    5                                                                            |             5                                                                   |    5                                                                            |
r1c2#6  6                                                                               |     6                                                                           |              6                                                                  |     6                                                                           |
r1c2#7  7                                                                               |      7                                                                          |               7                                                                 |      7                                                                          |
r1c2#8  8                                                                               |       8                                                                         |                8                                                                |       8                                                                         |
r1c2#9  9                                                                               |        9                                                                        |                 9                                                               |        9                                                                        |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r1c3#1   1                                                                              |1                                                                                |                  1                                                              |1                                                                                |
r1c3#2   2                                                                              | 2                                                                               |                   2                                                             | 2                                                                               |
r1c3#3   3                                                                              |  3                                                                              |                    3                                                            |  3                                                                              |
r1c3#4   4                                                                              |   4                                                                             |                     4                                                           |   4                                                                             |
r1c3#5   5                                                                              |    5                                                                            |                      5                                                          |    5                                                                            |
r1c3#6   6                                                                              |     6                                                                           |                       6                                                         |     6                                                                           |
r1c3#7   7                                                                              |      7                                                                          |                        7                                                        |      7                                                                          |
r1c3#8   8                                                                              |       8                                                                         |                         8                                                       |       8                                                                         |
r1c3#9   9                                                                              |        9                                                                        |                          9                                                      |        9                                                                        |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r1c4#1    1                                                                             |1                                                                                |                           1                                                     |         1                                                                       |
r1c4#2    2                                                                             | 2                                                                               |                            2                                                    |          2                                                                      |
r1c4#3    3                                                                             |  3                                                                              |                             3                                                   |           3                                                                     |
r1c4#4    4                                                                             |   4                                                                             |                              4                                                  |            4                                                                    |
r1c4#5    5                                                                             |    5                                                                            |                               5                                                 |             5                                                                   |
r1c4#6    6                                                                             |     6                                                                           |                                6                                                |              6                                                                  |
r1c4#7    7                                                                             |      7                                                                          |                                 7                                               |               7                                                                 |
r1c4#8    8                                                                             |       8                                                                         |                                  8                                              |                8                                                                |
r1c4#9    9                                                                             |        9                                                                        |                                   9                                             |                 9                                                               |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r1c5#1     1                                                                            |1                                                                                |                                    1                                            |         1                                                                       |
r1c5#2     2                                                                            | 2                                                                               |                                     2                                           |          2                                                                      |
r1c5#3     3                                                                            |  3                                                                              |                                      3                                          |           3                                                                     |
r1c5#4     4                                                                            |   4                                                                             |                                       4                                         |            4                                                                    |
r1c5#5     5                                                                            |    5                                                                            |                                        5                                        |             5                                                                   |
r1c5#6     6                                                                            |     6                                                                           |                                         6                                       |              6                                                                  |
r1c5#7     7                                                                            |      7                                                                          |                                          7                                      |               7                                                                 |
r1c5#8     8                                                                            |       8                                                                         |                                           8                                     |                8                                                                |
r1c5#9     9                                                                            |        9                                                                        |                                            9                                    |                 9                                                               |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r1c6#1      1                                                                           |1                                                                                |                                             1                                   |         1                                                                       |
r1c6#2      2                                                                           | 2                                                                               |                                              2                                  |          2                                                                      |
r1c6#3      3                                                                           |  3                                                                              |                                               3                                 |           3                                                                     |
r1c6#4      4                                                                           |   4                                                                             |                                                4                                |            4                                                                    |
r1c6#5      5                                                                           |    5                                                                            |                                                 5                               |             5                                                                   |
r1c6#6      6                                                                           |     6                                                                           |                                                  6                              |              6                                                                  |
r1c6#7      7                                                                           |      7                                                                          |                                                   7                             |               7                                                                 |
r1c6#8      8                                                                           |       8                                                                         |                                                    8                            |                8                                                                |
r1c6#9      9                                                                           |        9                                                                        |                                                     9                           |                 9                                                               |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r1c7#1       1                                                                          |1                                                                                |                                                      1                          |                  1                                                              |
r1c7#2       2                                                                          | 2                                                                               |                                                       2                         |                   2                                                             |
r1c7#3       3                                                                          |  3                                                                              |                                                        3                        |                    3                                                            |
r1c7#4       4                                                                          |   4                                                                             |                                                         4                       |                     4                                                           |
r1c7#5       5                                                                          |    5                                                                            |                                                          5                      |                      5                                                          |
r1c7#6       6                                                                          |     6                                                                           |                                                           6                     |                       6                                                         |
r1c7#7       7                                                                          |      7                                                                          |                                                            7                    |                        7                                                        |
r1c7#8       8                                                                          |       8                                                                         |                                                             8                   |                         8                                                       |
r1c7#9       9                                                                          |        9                                                                        |                                                              9                  |                          9                                                      |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r1c8#1        1                                                                         |1                                                                                |                                                               1                 |                  1                                                              |
r1c8#2        2                                                                         | 2                                                                               |                                                                2                |                   2                                                             |
r1c8#3        3                                                                         |  3                                                                              |                                                                 3               |                    3                                                            |
r1c8#4        4                                                                         |   4                                                                             |                                                                  4              |                     4                                                           |
r1c8#5        5                                                                         |    5                                                                            |                                                                   5             |                      5                                                          |
r1c8#6        6                                                                         |     6                                                                           |                                                                    6            |                       6                                                         |
r1c8#7        7                                                                         |      7                                                                          |                                                                     7           |                        7                                                        |
r1c8#8        8                                                                         |       8                                                                         |                                                                      8          |                         8                                                       |
r1c8#9        9                                                                         |        9                                                                        |                                                                       9         |                          9                                                      |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r1c9#1         1                                                                        |1                                                                                |                                                                        1        |                  1                                                              |
r1c9#2         2                                                                        | 2                                                                               |                                                                         2       |                   2                                                             |
r1c9#3         3                                                                        |  3                                                                              |                                                                          3      |                    3                                                            |
r1c9#4         4                                                                        |   4                                                                             |                                                                           4     |                     4                                                           |
r1c9#5         5                                                                        |    5                                                                            |                                                                            5    |                      5                                                          |
r1c9#6         6                                                                        |     6                                                                           |                                                                             6   |                       6                                                         |
r1c9#7         7                                                                        |      7                                                                          |                                                                              7  |                        7                                                        |
r1c9#8         8                                                                        |       8                                                                         |                                                                               8 |                         8                                                       |
r1c9#9         9                                                                        |        9                                                                        |                                                                                9|                          9                                                      |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r2c1#1          1                                                                       |         1                                                                       |1                                                                                |1                                                                                |
r2c1#2          2                                                                       |          2                                                                      | 2                                                                               | 2                                                                               |
r2c1#3          3                                                                       |           3                                                                     |  3                                                                              |  3                                                                              |
r2c1#4          4                                                                       |            4                                                                    |   4                                                                             |   4                                                                             |
r2c1#5          5                                                                       |             5                                                                   |    5                                                                            |    5                                                                            |
r2c1#6          6                                                                       |              6                                                                  |     6                                                                           |     6                                                                           |
r2c1#7          7                                                                       |               7                                                                 |      7                                                                          |      7                                                                          |
r2c1#8          8                                                                       |                8                                                                |       8                                                                         |       8                                                                         |
r2c1#9          9                                                                       |                 9                                                               |        9                                                                        |        9                                                                        |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r2c2#1           1                                                                      |         1                                                                       |         1                                                                       |1                                                                                |
r2c2#2           2                                                                      |          2                                                                      |          2                                                                      | 2                                                                               |
r2c2#3           3                                                                      |           3                                                                     |           3                                                                     |  3                                                                              |
r2c2#4           4                                                                      |            4                                                                    |            4                                                                    |   4                                                                             |
r2c2#5           5                                                                      |             5                                                                   |             5                                                                   |    5                                                                            |
r2c2#6           6                                                                      |              6                                                                  |              6                                                                  |     6                                                                           |
r2c2#7           7                                                                      |               7                                                                 |               7                                                                 |      7                                                                          |
r2c2#8           8                                                                      |                8                                                                |                8                                                                |       8                                                                         |
r2c2#9           9                                                                      |                 9                                                               |                 9                                                               |        9                                                                        |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r2c3#1            1                                                                     |         1                                                                       |                  1                                                              |1                                                                                |
r2c3#2            2                                                                     |          2                                                                      |                   2                                                             | 2                                                                               |
r2c3#3            3                                                                     |           3                                                                     |                    3                                                            |  3                                                                              |
r2c3#4            4                                                                     |            4                                                                    |                     4                                                           |   4                                                                             |
r2c3#5            5                                                                     |             5                                                                   |                      5                                                          |    5                                                                            |
r2c3#6            6                                                                     |              6                                                                  |                       6                                                         |     6                                                                           |
r2c3#7            7                                                                     |               7                                                                 |                        7                                                        |      7                                                                          |
r2c3#8            8                                                                     |                8                                                                |                         8                                                       |       8                                                                         |
r2c3#9            9                                                                     |                 9                                                               |                          9                                                      |        9                                                                        |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r2c4#1             1                                                                    |         1                                                                       |                           1                                                     |         1                                                                       |
r2c4#2             2                                                                    |          2                                                                      |                            2                                                    |          2                                                                      |
r2c4#3             3                                                                    |           3                                                                     |                             3                                                   |           3                                                                     |
r2c4#4             4                                                                    |            4                                                                    |                              4                                                  |            4                                                                    |
r2c4#5             5                                                                    |             5                                                                   |                               5                                                 |             5                                                                   |
r2c4#6             6                                                                    |              6                                                                  |                                6                                                |              6                                                                  |
r2c4#7             7                                                                    |               7                                                                 |                                 7                                               |               7                                                                 |
r2c4#8             8                                                                    |                8                                                                |                                  8                                              |                8                                                                |
r2c4#9             9                                                                    |                 9                                                               |                                   9                                             |                 9                                                               |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r2c5#1              1                                                                   |         1                                                                       |                                    1                                            |         1                                                                       |
r2c5#2              2                                                                   |          2                                                                      |                                     2                                           |          2                                                                      |
r2c5#3              3                                                                   |           3                                                                     |                                      3                                          |           3                                                                     |
r2c5#4              4                                                                   |            4                                                                    |                                       4                                         |            4                                                                    |
r2c5#5              5                                                                   |             5                                                                   |                                        5                                        |             5                                                                   |
r2c5#6              6                                                                   |              6                                                                  |                                         6                                       |              6                                                                  |
r2c5#7              7                                                                   |               7                                                                 |                                          7                                      |               7                                                                 |
r2c5#8              8                                                                   |                8                                                                |                                           8                                     |                8                                                                |
r2c5#9              9                                                                   |                 9                                                               |                                            9                                    |                 9                                                               |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r2c6#1               1                                                                  |         1                                                                       |                                             1                                   |         1                                                                       |
r2c6#2               2                                                                  |          2                                                                      |                                              2                                  |          2                                                                      |
r2c6#3               3                                                                  |           3                                                                     |                                               3                                 |           3                                                                     |
r2c6#4               4                                                                  |            4                                                                    |                                                4                                |            4                                                                    |
r2c6#5               5                                                                  |             5                                                                   |                                                 5                               |             5                                                                   |
r2c6#6               6                                                                  |              6                                                                  |                                                  6                              |              6                                                                  |
r2c6#7               7                                                                  |               7                                                                 |                                                   7                             |               7                                                                 |
r2c6#8               8                                                                  |                8                                                                |                                                    8                            |                8                                                                |
r2c6#9               9                                                                  |                 9                                                               |                                                     9                           |                 9                                                               |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r2c7#1                1                                                                 |         1                                                                       |                                                      1                          |                  1                                                              |
r2c7#2                2                                                                 |          2                                                                      |                                                       2                         |                   2                                                             |
r2c7#3                3                                                                 |           3                                                                     |                                                        3                        |                    3                                                            |
r2c7#4                4                                                                 |            4                                                                    |                                                         4                       |                     4                                                           |
r2c7#5                5                                                                 |             5                                                                   |                                                          5                      |                      5                                                          |
r2c7#6                6                                                                 |              6                                                                  |                                                           6                     |                       6                                                         |
r2c7#7                7                                                                 |               7                                                                 |                                                            7                    |                        7                                                        |
r2c7#8                8                                                                 |                8                                                                |                                                             8                   |                         8                                                       |
r2c7#9                9                                                                 |                 9                                                               |                                                              9                  |                          9                                                      |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r2c8#1                 1                                                                |         1                                                                       |                                                               1                 |                  1                                                              |
r2c8#2                 2                                                                |          2                                                                      |                                                                2                |                   2                                                             |
r2c8#3                 3                                                                |           3                                                                     |                                                                 3               |                    3                                                            |
r2c8#4                 4                                                                |            4                                                                    |                                                                  4              |                     4                                                           |
r2c8#5                 5                                                                |             5                                                                   |                                                                   5             |                      5                                                          |
r2c8#6                 6                                                                |              6                                                                  |                                                                    6            |                       6                                                         |
r2c8#7                 7                                                                |               7                                                                 |                                                                     7           |                        7                                                        |
r2c8#8                 8                                                                |                8                                                                |                                                                      8          |                         8                                                       |
r2c8#9                 9                                                                |                 9                                                               |                                                                       9         |                          9                                                      |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r2c9#1                  1                                                               |         1                                                                       |                                                                        1        |                  1                                                              |
r2c9#2                  2                                                               |          2                                                                      |                                                                         2       |                   2                                                             |
r2c9#3                  3                                                               |           3                                                                     |                                                                          3      |                    3                                                            |
r2c9#4                  4                                                               |            4                                                                    |                                                                           4     |                     4                                                           |
r2c9#5                  5                                                               |             5                                                                   |                                                                            5    |                      5                                                          |
r2c9#6                  6                                                               |              6                                                                  |                                                                             6   |                       6                                                         |
r2c9#7                  7                                                               |               7                                                                 |                                                                              7  |                        7                                                        |
r2c9#8                  8                                                               |                8                                                                |                                                                               8 |                         8                                                       |
r2c9#9                  9                                                               |                 9                                                               |                                                                                9|                          9                                                      |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r3c1#1                   1                                                              |                  1                                                              |1                                                                                |1                                                                                |
r3c1#2                   2                                                              |                   2                                                             | 2                                                                               | 2                                                                               |
r3c1#3                   3                                                              |                    3                                                            |  3                                                                              |  3                                                                              |
r3c1#4                   4                                                              |                     4                                                           |   4                                                                             |   4                                                                             |
r3c1#5                   5                                                              |                      5                                                          |    5                                                                            |    5                                                                            |
r3c1#6                   6                                                              |                       6                                                         |     6                                                                           |     6                                                                           |
r3c1#7                   7                                                              |                        7                                                        |      7                                                                          |      7                                                                          |
r3c1#8                   8                                                              |                         8                                                       |       8                                                                         |       8                                                                         |
r3c1#9                   9                                                              |                          9                                                      |        9                                                                        |        9                                                                        |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r3c2#1                    1                                                             |                  1                                                              |         1                                                                       |1                                                                                |
r3c2#2                    2                                                             |                   2                                                             |          2                                                                      | 2                                                                               |
r3c2#3                    3                                                             |                    3                                                            |           3                                                                     |  3                                                                              |
r3c2#4                    4                                                             |                     4                                                           |            4                                                                    |   4                                                                             |
r3c2#5                    5                                                             |                      5                                                          |             5                                                                   |    5                                                                            |
r3c2#6                    6                                                             |                       6                                                         |              6                                                                  |     6                                                                           |
r3c2#7                    7                                                             |                        7                                                        |               7                                                                 |      7                                                                          |
r3c2#8                    8                                                             |                         8                                                       |                8                                                                |       8                                                                         |
r3c2#9                    9                                                             |                          9                                                      |                 9                                                               |        9                                                                        |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r3c3#1                     1                                                            |                  1                                                              |                  1                                                              |1                                                                                |
r3c3#2                     2                                                            |                   2                                                             |                   2                                                             | 2                                                                               |
r3c3#3                     3                                                            |                    3                                                            |                    3                                                            |  3                                                                              |
r3c3#4                     4                                                            |                     4                                                           |                     4                                                           |   4                                                                             |
r3c3#5                     5                                                            |                      5                                                          |                      5                                                          |    5                                                                            |
r3c3#6                     6                                                            |                       6                                                         |                       6                                                         |     6                                                                           |
r3c3#7                     7                                                            |                        7                                                        |                        7                                                        |      7                                                                          |
r3c3#8                     8                                                            |                         8                                                       |                         8                                                       |       8                                                                         |
r3c3#9                     9                                                            |                          9                                                      |                          9                                                      |        9                                                                        |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r3c4#1                      1                                                           |                  1                                                              |                           1                                                     |         1                                                                       |
r3c4#2                      2                                                           |                   2                                                             |                            2                                                    |          2                                                                      |
r3c4#3                      3                                                           |                    3                                                            |                             3                                                   |           3                                                                     |
r3c4#4                      4                                                           |                     4                                                           |                              4                                                  |            4                                                                    |
r3c4#5                      5                                                           |                      5                                                          |                               5                                                 |             5                                                                   |
r3c4#6                      6                                                           |                       6                                                         |                                6                                                |              6                                                                  |
r3c4#7                      7                                                           |                        7                                                        |                                 7                                               |               7                                                                 |
r3c4#8                      8                                                           |                         8                                                       |                                  8                                              |                8                                                                |
r3c4#9                      9                                                           |                          9                                                      |                                   9                                             |                 9                                                               |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r3c5#1                       1                                                          |                  1                                                              |                                    1                                            |         1                                                                       |
r3c5#2                       2                                                          |                   2                                                             |                                     2                                           |          2                                                                      |
r3c5#3                       3                                                          |                    3                                                            |                                      3                                          |           3                                                                     |
r3c5#4                       4                                                          |                     4                                                           |                                       4                                         |            4                                                                    |
r3c5#5                       5                                                          |                      5                                                          |                                        5                                        |             5                                                                   |
r3c5#6                       6                                                          |                       6                                                         |                                         6                                       |              6                                                                  |
r3c5#7                       7                                                          |                        7                                                        |                                          7                                      |               7                                                                 |
r3c5#8                       8                                                          |                         8                                                       |                                           8                                     |                8                                                                |
r3c5#9                       9                                                          |                          9                                                      |                                            9                                    |                 9                                                               |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r3c6#1                        1                                                         |                  1                                                              |                                             1                                   |         1                                                                       |
r3c6#2                        2                                                         |                   2                                                             |                                              2                                  |          2                                                                      |
r3c6#3                        3                                                         |                    3                                                            |                                               3                                 |           3                                                                     |
r3c6#4                        4                                                         |                     4                                                           |                                                4                                |            4                                                                    |
r3c6#5                        5                                                         |                      5                                                          |                                                 5                               |             5                                                                   |
r3c6#6                        6                                                         |                       6                                                         |                                                  6                              |              6                                                                  |
r3c6#7                        7                                                         |                        7                                                        |                                                   7                             |               7                                                                 |
r3c6#8                        8                                                         |                         8                                                       |                                                    8                            |                8                                                                |
r3c6#9                        9                                                         |                          9                                                      |                                                     9                           |                 9                                                               |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r3c7#1                         1                                                        |                  1                                                              |                                                      1                          |                  1                                                              |
r3c7#2                         2                                                        |                   2                                                             |                                                       2                         |                   2                                                             |
r3c7#3                         3                                                        |                    3                                                            |                                                        3                        |                    3                                                            |
r3c7#4                         4                                                        |                     4                                                           |                                                         4                       |                     4                                                           |
r3c7#5                         5                                                        |                      5                                                          |                                                          5                      |                      5                                                          |
r3c7#6                         6                                                        |                       6                                                         |                                                           6                     |                       6                                                         |
r3c7#7                         7                                                        |                        7                                                        |                                                            7                    |                        7                                                        |
r3c7#8                         8                                                        |                         8                                                       |                                                             8                   |                         8                                                       |
r3c7#9                         9                                                        |                          9                                                      |                                                              9                  |                          9                                                      |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r3c8#1                          1                                                       |                  1                                                              |                                                               1                 |                  1                                                              |
r3c8#2                          2                                                       |                   2                                                             |                                                                2                |                   2                                                             |
r3c8#3                          3                                                       |                    3                                                            |                                                                 3               |                    3                                                            |
r3c8#4                          4                                                       |                     4                                                           |                                                                  4              |                     4                                                           |
r3c8#5                          5                                                       |                      5                                                          |                                                                   5             |                      5                                                          |
r3c8#6                          6                                                       |                       6                                                         |                                                                    6            |                       6                                                         |
r3c8#7                          7                                                       |                        7                                                        |                                                                     7           |                        7                                                        |
r3c8#8                          8                                                       |                         8                                                       |                                                                      8          |                         8                                                       |
r3c8#9                          9                                                       |                          9                                                      |                                                                       9         |                          9                                                      |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r3c9#1                           1                                                      |                  1                                                              |                                                                        1        |                  1                                                              |
r3c9#2                           2                                                      |                   2                                                             |                                                                         2       |                   2                                                             |
r3c9#3                           3                                                      |                    3                                                            |                                                                          3      |                    3                                                            |
r3c9#4                           4                                                      |                     4                                                           |                                                                           4     |                     4                                                           |
r3c9#5                           5                                                      |                      5                                                          |                                                                            5    |                      5                                                          |
r3c9#6                           6                                                      |                       6                                                         |                                                                             6   |                       6                                                         |
r3c9#7                           7                                                      |                        7                                                        |                                                                              7  |                        7                                                        |
r3c9#8                           8                                                      |                         8                                                       |                                                                               8 |                         8                                                       |
r3c9#9                           9                                                      |                          9                                                      |                                                                                9|                          9                                                      |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r4c1#1                            1                                                     |                           1                                                     |1                                                                                |                           1                                                     |
r4c1#2                            2                                                     |                            2                                                    | 2                                                                               |                            2                                                    |
r4c1#3                            3                                                     |                             3                                                   |  3                                                                              |                             3                                                   |
r4c1#4                            4                                                     |                              4                                                  |   4                                                                             |                              4                                                  |
r4c1#5                            5                                                     |                               5                                                 |    5                                                                            |                               5                                                 |
r4c1#6                            6                                                     |                                6                                                |     6                                                                           |                                6                                                |
r4c1#7                            7                                                     |                                 7                                               |      7                                                                          |                                 7                                               |
r4c1#8                            8                                                     |                                  8                                              |       8                                                                         |                                  8                                              |
r4c1#9                            9                                                     |                                   9                                             |        9                                                                        |                                   9                                             |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r4c2#1                             1                                                    |                           1                                                     |         1                                                                       |                           1                                                     |
r4c2#2                             2                                                    |                            2                                                    |          2                                                                      |                            2                                                    |
r4c2#3                             3                                                    |                             3                                                   |           3                                                                     |                             3                                                   |
r4c2#4                             4                                                    |                              4                                                  |            4                                                                    |                              4                                                  |
r4c2#5                             5                                                    |                               5                                                 |             5                                                                   |                               5                                                 |
r4c2#6                             6                                                    |                                6                                                |              6                                                                  |                                6                                                |
r4c2#7                             7                                                    |                                 7                                               |               7                                                                 |                                 7                                               |
r4c2#8                             8                                                    |                                  8                                              |                8                                                                |                                  8                                              |
r4c2#9                             9                                                    |                                   9                                             |                 9                                                               |                                   9                                             |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r4c3#1                              1                                                   |                           1                                                     |                  1                                                              |                           1                                                     |
r4c3#2                              2                                                   |                            2                                                    |                   2                                                             |                            2                                                    |
r4c3#3                              3                                                   |                             3                                                   |                    3                                                            |                             3                                                   |
r4c3#4                              4                                                   |                              4                                                  |                     4                                                           |                              4                                                  |
r4c3#5                              5                                                   |                               5                                                 |                      5                                                          |                               5                                                 |
r4c3#6                              6                                                   |                                6                                                |                       6                                                         |                                6                                                |
r4c3#7                              7                                                   |                                 7                                               |                        7                                                        |                                 7                                               |
r4c3#8                              8                                                   |                                  8                                              |                         8                                                       |                                  8                                              |
r4c3#9                              9                                                   |                                   9                                             |                          9                                                      |                                   9                                             |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r4c4#1                               1                                                  |                           1                                                     |                           1                                                     |                                    1                                            |
r4c4#2                               2                                                  |                            2                                                    |                            2                                                    |                                     2                                           |
r4c4#3                               3                                                  |                             3                                                   |                             3                                                   |                                      3                                          |
r4c4#4                               4                                                  |                              4                                                  |                              4                                                  |                                       4                                         |
r4c4#5                               5                                                  |                               5                                                 |                               5                                                 |                                        5                                        |
r4c4#6                               6                                                  |                                6                                                |                                6                                                |                                         6                                       |
r4c4#7                               7                                                  |                                 7                                               |                                 7                                               |                                          7                                      |
r4c4#8                               8                                                  |                                  8                                              |                                  8                                              |                                           8                                     |
r4c4#9                               9                                                  |                                   9                                             |                                   9                                             |                                            9                                    |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r4c5#1                                1                                                 |                           1                                                     |                                    1                                            |                                    1                                            |
r4c5#2                                2                                                 |                            2                                                    |                                     2                                           |                                     2                                           |
r4c5#3                                3                                                 |                             3                                                   |                                      3                                          |                                      3                                          |
r4c5#4                                4                                                 |                              4                                                  |                                       4                                         |                                       4                                         |
r4c5#5                                5                                                 |                               5                                                 |                                        5                                        |                                        5                                        |
r4c5#6                                6                                                 |                                6                                                |                                         6                                       |                                         6                                       |
r4c5#7                                7                                                 |                                 7                                               |                                          7                                      |                                          7                                      |
r4c5#8                                8                                                 |                                  8                                              |                                           8                                     |                                           8                                     |
r4c5#9                                9                                                 |                                   9                                             |                                            9                                    |                                            9                                    |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r4c6#1                                 1                                                |                           1                                                     |                                             1                                   |                                    1                                            |
r4c6#2                                 2                                                |                            2                                                    |                                              2                                  |                                     2                                           |
r4c6#3                                 3                                                |                             3                                                   |                                               3                                 |                                      3                                          |
r4c6#4                                 4                                                |                              4                                                  |                                                4                                |                                       4                                         |
r4c6#5                                 5                                                |                               5                                                 |                                                 5                               |                                        5                                        |
r4c6#6                                 6                                                |                                6                                                |                                                  6                              |                                         6                                       |
r4c6#7                                 7                                                |                                 7                                               |                                                   7                             |                                          7                                      |
r4c6#8                                 8                                                |                                  8                                              |                                                    8                            |                                           8                                     |
r4c6#9                                 9                                                |                                   9                                             |                                                     9                           |                                            9                                    |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r4c7#1                                  1                                               |                           1                                                     |                                                      1                          |                                             1                                   |
r4c7#2                                  2                                               |                            2                                                    |                                                       2                         |                                              2                                  |
r4c7#3                                  3                                               |                             3                                                   |                                                        3                        |                                               3                                 |
r4c7#4                                  4                                               |                              4                                                  |                                                         4                       |                                                4                                |
r4c7#5                                  5                                               |                               5                                                 |                                                          5                      |                                                 5                               |
r4c7#6                                  6                                               |                                6                                                |                                                           6                     |                                                  6                              |
r4c7#7                                  7                                               |                                 7                                               |                                                            7                    |                                                   7                             |
r4c7#8                                  8                                               |                                  8                                              |                                                             8                   |                                                    8                            |
r4c7#9                                  9                                               |                                   9                                             |                                                              9                  |                                                     9                           |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r4c8#1                                   1                                              |                           1                                                     |                                                               1                 |                                             1                                   |
r4c8#2                                   2                                              |                            2                                                    |                                                                2                |                                              2                                  |
r4c8#3                                   3                                              |                             3                                                   |                                                                 3               |                                               3                                 |
r4c8#4                                   4                                              |                              4                                                  |                                                                  4              |                                                4                                |
r4c8#5                                   5                                              |                               5                                                 |                                                                   5             |                                                 5                               |
r4c8#6                                   6                                              |                                6                                                |                                                                    6            |                                                  6                              |
r4c8#7                                   7                                              |                                 7                                               |                                                                     7           |                                                   7                             |
r4c8#8                                   8                                              |                                  8                                              |                                                                      8          |                                                    8                            |
r4c8#9                                   9                                              |                                   9                                             |                                                                       9         |                                                     9                           |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r4c9#1                                    1                                             |                           1                                                     |                                                                        1        |                                             1                                   |
r4c9#2                                    2                                             |                            2                                                    |                                                                         2       |                                              2                                  |
r4c9#3                                    3                                             |                             3                                                   |                                                                          3      |                                               3                                 |
r4c9#4                                    4                                             |                              4                                                  |                                                                           4     |                                                4                                |
r4c9#5                                    5                                             |                               5                                                 |                                                                            5    |                                                 5                               |
r4c9#6                                    6                                             |                                6                                                |                                                                             6   |                                                  6                              |
r4c9#7                                    7                                             |                                 7                                               |                                                                              7  |                                                   7                             |
r4c9#8                                    8                                             |                                  8                                              |                                                                               8 |                                                    8                            |
r4c9#9                                    9                                             |                                   9                                             |                                                                                9|                                                     9                           |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r5c1#1                                     1                                            |                                    1                                            |1                                                                                |                           1                                                     |
r5c1#2                                     2                                            |                                     2                                           | 2                                                                               |                            2                                                    |
r5c1#3                                     3                                            |                                      3                                          |  3                                                                              |                             3                                                   |
r5c1#4                                     4                                            |                                       4                                         |   4                                                                             |                              4                                                  |
r5c1#5                                     5                                            |                                        5                                        |    5                                                                            |                               5                                                 |
r5c1#6                                     6                                            |                                         6                                       |     6                                                                           |                                6                                                |
r5c1#7                                     7                                            |                                          7                                      |      7                                                                          |                                 7                                               |
r5c1#8                                     8                                            |                                           8                                     |       8                                                                         |                                  8                                              |
r5c1#9                                     9                                            |                                            9                                    |        9                                                                        |                                   9                                             |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
r5c2#1                                      1                                           |                                    1                                            |         1                                                                       |                           1                                                     |
r5c2#2                                      2                                           |                                     2                                           |          2                                                                      |                            2                                                    |
r5c2#3                                      3                                           |                                      3                                          |           3                                                                     |                             3                                                   |
r5c2#4                                      4                                           |                                       4                                         |            4                                                                    |                              4                                                  |
r5c2#5                                      5                                           |                                        5                                        |             5                                                                   |                               5                                                 |
r5c2#6                                      6                                           |                                         6                                       |              6                                                                  |                                6                                                |
r5c2#7                                      7                                           |                                          7                                      |               7                                                                 |                                 7                                               |
r5c2#8                                      8                                           |                                           8                                     |                8                                                                |                                  8                                              |
r5c2#9                                      9                                           |                                            9                                    |                 9                                                               |                                   9                                             |
-------------------------------------------------------------------------------------------------------------------------------