Rene van Lieshout

Sudoku solver

I've created a Sudoku Solver, somewhere around 2005. The intention was to solve this puzzle using logic and not using brute force.

We're using only a few rules, so we might not be able to solve all your puzzles. Will you let me know how if we're unable to solve one, but you've managed to do it yourself?

  • Sudoku

Used logic:

#
Description
1

We exclude possibilities based on already known numbers in the grid.

2

We might found some answers using this exclusion of numbers. We can just fill them in now.

3

When viewing a whole row or column, we might find a number that can only be placed at one spot. It is certain that we need to place it there.

4

If we can determine that a number can only be placed in one row or one column of a block, we can exclude this number in the same row or column in other blocks.

Example:

<tr><td class="row">1</td>&lt;td class=&quot;s1 r0 c0 n3&quot;&gt;3&lt;/td&gt;&lt;td class=&quot;s0 r0 c1 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r0 c2 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r0 c3 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r0 c4 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r0 c5 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r0 c6 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r0 c7 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r0 c8 n0&quot;&gt;0&lt;/td&gt;</tr><tr><td class="row">2</td>&lt;td class=&quot;s1 r1 c0 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r1 c1 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r1 c2 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r1 c3 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r1 c4 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r1 c5 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r1 c6 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r1 c7 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r1 c8 n0&quot;&gt;0&lt;/td&gt;</tr><tr><td class="row">3</td>&lt;td class=&quot;s1 r2 c0 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r2 c1 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r2 c2 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r2 c3 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r2 c4 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r2 c5 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r2 c6 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r2 c7 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r2 c8 n0&quot;&gt;0&lt;/td&gt;</tr><tr><td class="row">4</td>&lt;td class=&quot;s1 r3 c0 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s4 r3 c1 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s4 r3 c2 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r3 c3 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r3 c4 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r3 c5 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r3 c6 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r3 c7 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r3 c8 n0&quot;&gt;0&lt;/td&gt;</tr><tr><td class="row">5</td>&lt;td class=&quot;s1 r4 c0 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s4 r4 c1 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s4 r4 c2 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r4 c3 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r4 c4 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r4 c5 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r4 c6 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r4 c7 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r4 c8 n0&quot;&gt;0&lt;/td&gt;</tr><tr><td class="row">6</td>&lt;td class=&quot;s1 r5 c0 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s4 r5 c1 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s4 r5 c2 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r5 c3 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r5 c4 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r5 c5 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r5 c6 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r5 c7 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r5 c8 n0&quot;&gt;0&lt;/td&gt;</tr><tr><td class="row">7</td>&lt;td class=&quot;s1 r6 c0 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r6 c1 n7&quot;&gt;7&lt;/td&gt;&lt;td class=&quot;s4 r6 c2 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r6 c3 n2&quot;&gt;2&lt;/td&gt;&lt;td class=&quot;s0 r6 c4 n1&quot;&gt;1&lt;/td&gt;&lt;td class=&quot;s0 r6 c5 n5&quot;&gt;5&lt;/td&gt;&lt;td class=&quot;s0 r6 c6 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r6 c7 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r6 c8 n0&quot;&gt;0&lt;/td&gt;</tr><tr><td class="row">8</td>&lt;td class=&quot;s1 r7 c0 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s4 r7 c1 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s4 r7 c2 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s3 r7 c3 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s3 r7 c4 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s3 r7 c5 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r7 c6 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r7 c7 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r7 c8 n0&quot;&gt;0&lt;/td&gt;</tr><tr><td class="row">9</td>&lt;td class=&quot;s1 r8 c0 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r8 c1 n6&quot;&gt;6&lt;/td&gt;&lt;td class=&quot;s4 r8 c2 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r8 c3 n9&quot;&gt;9&lt;/td&gt;&lt;td class=&quot;s0 r8 c4 n8&quot;&gt;8&lt;/td&gt;&lt;td class=&quot;s0 r8 c5 n7&quot;&gt;7&lt;/td&gt;&lt;td class=&quot;s0 r8 c6 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r8 c7 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r8 c8 n0&quot;&gt;0&lt;/td&gt;</tr>
123456789
<tr><td class="row">1</td>&lt;td class=&quot;s1 r0 c0 n3&quot;&gt;3&lt;/td&gt;&lt;td class=&quot;s0 r0 c1 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r0 c2 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r0 c3 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r0 c4 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r0 c5 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r0 c6 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r0 c7 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r0 c8 n0&quot;&gt;0&lt;/td&gt;</tr><tr><td class="row">2</td>&lt;td class=&quot;s1 r1 c0 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r1 c1 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r1 c2 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r1 c3 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r1 c4 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r1 c5 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r1 c6 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r1 c7 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r1 c8 n0&quot;&gt;0&lt;/td&gt;</tr><tr><td class="row">3</td>&lt;td class=&quot;s1 r2 c0 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r2 c1 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r2 c2 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r2 c3 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r2 c4 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r2 c5 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r2 c6 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r2 c7 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r2 c8 n0&quot;&gt;0&lt;/td&gt;</tr><tr><td class="row">4</td>&lt;td class=&quot;s1 r3 c0 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s4 r3 c1 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r3 c2 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r3 c3 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r3 c4 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r3 c5 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r3 c6 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r3 c7 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r3 c8 n0&quot;&gt;0&lt;/td&gt;</tr><tr><td class="row">5</td>&lt;td class=&quot;s1 r4 c0 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s4 r4 c1 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r4 c2 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r4 c3 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r4 c4 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r4 c5 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r4 c6 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r4 c7 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r4 c8 n0&quot;&gt;0&lt;/td&gt;</tr><tr><td class="row">6</td>&lt;td class=&quot;s1 r5 c0 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s4 r5 c1 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r5 c2 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r5 c3 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r5 c4 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r5 c5 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r5 c6 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r5 c7 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r5 c8 n0&quot;&gt;0&lt;/td&gt;</tr><tr><td class="row">7</td>&lt;td class=&quot;s1 r6 c0 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r6 c1 n7&quot;&gt;7&lt;/td&gt;&lt;td class=&quot;s4 r6 c2 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r6 c3 n2&quot;&gt;2&lt;/td&gt;&lt;td class=&quot;s0 r6 c4 n1&quot;&gt;1&lt;/td&gt;&lt;td class=&quot;s0 r6 c5 n5&quot;&gt;5&lt;/td&gt;&lt;td class=&quot;s0 r6 c6 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r6 c7 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r6 c8 n0&quot;&gt;0&lt;/td&gt;</tr><tr><td class="row">8</td>&lt;td class=&quot;s1 r7 c0 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r7 c1 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r7 c2 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s3 r7 c3 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s3 r7 c4 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s3 r7 c5 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r7 c6 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r7 c7 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r7 c8 n0&quot;&gt;0&lt;/td&gt;</tr><tr><td class="row">9</td>&lt;td class=&quot;s1 r8 c0 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r8 c1 n6&quot;&gt;6&lt;/td&gt;&lt;td class=&quot;s4 r8 c2 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r8 c3 n9&quot;&gt;9&lt;/td&gt;&lt;td class=&quot;s0 r8 c4 n8&quot;&gt;8&lt;/td&gt;&lt;td class=&quot;s0 r8 c5 n7&quot;&gt;7&lt;/td&gt;&lt;td class=&quot;s0 r8 c6 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r8 c7 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r8 c8 n0&quot;&gt;0&lt;/td&gt;</tr>
123456789

In column 1 we've found a 3, making columns 2 and 3 the only available spaces for a 3 in these blocks. Since we know a 3 should be placed in columns 4,5 or 6 of row 8, we can exclude this row from the other blocks. We know that this number should be in these columns, because we cannot place it anywhere else in this block.

Using exclusion we've found number 3 can only be placed in column 3 of the bottom block, making this column unavailable for the block above.

5

In some cases, two numbers can only be placed in two spaces, thus making these spaces not available for any other number.

Example:

<tr><td class="row">1</td>&lt;td class=&quot;s0 r0 c0 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r0 c1 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r0 c2 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s1 r0 c3 n2&quot;&gt;2&lt;/td&gt;&lt;td class=&quot;s0 r0 c4 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r0 c5 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r0 c6 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r0 c7 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r0 c8 n0&quot;&gt;0&lt;/td&gt;</tr><tr><td class="row">2</td>&lt;td class=&quot;s0 r1 c0 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r1 c1 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r1 c2 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s1 r1 c3 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r1 c4 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r1 c5 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r1 c6 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r1 c7 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r1 c8 n0&quot;&gt;0&lt;/td&gt;</tr><tr><td class="row">3</td>&lt;td class=&quot;s0 r2 c0 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r2 c1 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r2 c2 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s1 r2 c3 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r2 c4 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r2 c5 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r2 c6 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r2 c7 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r2 c8 n0&quot;&gt;0&lt;/td&gt;</tr><tr><td class="row">4</td>&lt;td class=&quot;s0 r3 c0 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r3 c1 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r3 c2 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s1 r3 c3 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s2 r3 c4 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r3 c5 n9&quot;&gt;9&lt;/td&gt;&lt;td class=&quot;s0 r3 c6 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r3 c7 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r3 c8 n0&quot;&gt;0&lt;/td&gt;</tr><tr><td class="row">5</td>&lt;td class=&quot;s0 r4 c0 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r4 c1 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r4 c2 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s1 r4 c3 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r4 c4 n3&quot;&gt;3&lt;/td&gt;&lt;td class=&quot;s2 r4 c5 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r4 c6 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r4 c7 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r4 c8 n0&quot;&gt;0&lt;/td&gt;</tr><tr><td class="row">6</td>&lt;td class=&quot;s1 r5 c0 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s1 r5 c1 n4&quot;&gt;4&lt;/td&gt;&lt;td class=&quot;s1 r5 c2 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s1 r5 c3 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s1 r5 c4 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s1 r5 c5 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s1 r5 c6 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s1 r5 c7 n2&quot;&gt;2&lt;/td&gt;&lt;td class=&quot;s1 r5 c8 n0&quot;&gt;0&lt;/td&gt;</tr><tr><td class="row">7</td>&lt;td class=&quot;s0 r6 c0 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r6 c1 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r6 c2 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s1 r6 c3 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r6 c4 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r6 c5 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r6 c6 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r6 c7 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r6 c8 n0&quot;&gt;0&lt;/td&gt;</tr><tr><td class="row">8</td>&lt;td class=&quot;s0 r7 c0 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r7 c1 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r7 c2 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s1 r7 c3 n4&quot;&gt;4&lt;/td&gt;&lt;td class=&quot;s0 r7 c4 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r7 c5 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r7 c6 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r7 c7 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r7 c8 n0&quot;&gt;0&lt;/td&gt;</tr><tr><td class="row">9</td>&lt;td class=&quot;s0 r8 c0 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r8 c1 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r8 c2 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s1 r8 c3 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r8 c4 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r8 c5 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r8 c6 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r8 c7 n0&quot;&gt;0&lt;/td&gt;&lt;td class=&quot;s0 r8 c8 n0&quot;&gt;0&lt;/td&gt;</tr>
123456789

Row 4 and column 6 contain a 2 and a 4. The positions row 4 column 5 and row 5 column 6 need to either contain a 2 or a 4, making these positions unavailable for any other number.