Pattern Overlay Method

Advanced methods and approaches for solving Sudoku puzzles

Re: Pattern Overlay Method

Postby rjamil » Sun Oct 20, 2024 4:54 am

Hi experts,

I have got an idea about how to utilize only 5184 templates of 8 rows only (instead of 46656 templates of 9 rows) for all possible combination of each digit of a puzzle.

Just share the idea. Please do not hesitate to ask if explanation is needed.

// Global constant variable declaration with initializations
int P[5184][8];

int T[9][8] = { // Pointers to POM column for each puzzle column cell position containing digit
{ 1, 2, 3, 4, 5, 6, 7, 8}, { 0, 2, 3, 4, 5, 6, 7, 8}, { 0, 1, 3, 4, 5, 6, 7, 8},
{ 4, 5, 0, 1, 2, 6, 7, 8}, { 5, 3, 0, 1, 2, 6, 7, 8}, { 3, 4, 0, 1, 2, 6, 7, 8},
{ 7, 8, 0, 1, 2, 3, 4, 5}, { 6, 8, 0, 1, 2, 3, 4, 5}, { 6, 7, 0, 1, 2, 3, 4, 5}};

Note: Next, I am thinking about how to skip (jump) templates for remaining 8 rows.

int J[9] = {864, 288, 48, 12, 6, 2, 1, 0};

R. Jamil
rjamil
 
Posts: 785
Joined: 15 October 2014
Location: Karachi, Pakistan

Re: Pattern Overlay Method

Postby P.O. » Sun Oct 20, 2024 7:58 am

Hi R. Jamil, is it possible for you to use an example to detail the application of your ideas?
P.O.
 
Posts: 1764
Joined: 07 June 2021

Re: Pattern Overlay Method

Postby rjamil » Sun Oct 20, 2024 10:10 am

Hi P.O.,

P.O. wrote:Hi R. Jamil, is it possible for you to use an example to detail the application of your ideas?

Let me explain in detail shortly as I am now trying to code the same in highly optimized way. Also source code will be shared once finalized. Don't know how long it will take time.

Added: I have updated RJSudoku.c and RJSukaku.c solver in my GitHub. These programs included the unoptimized versions of POM.

Now I am working to implement my proposed optimization by removing the swap routine and skipping the templates as per described in my above post.

R. Jamil
rjamil
 
Posts: 785
Joined: 15 October 2014
Location: Karachi, Pakistan

Re: Pattern Overlay Method

Postby yzfwsf » Sun Oct 20, 2024 11:20 pm

Hi P.O.
I think if you include hidden single, you don't need to combine templates to exclude some invalid templates.
yzfwsf
 
Posts: 921
Joined: 16 April 2019

Re: Pattern Overlay Method

Postby P.O. » Mon Oct 21, 2024 3:24 am

Hi yzfwsf, my Singles procedure includes naked and hidden single.
P.O.
 
Posts: 1764
Joined: 07 June 2021

Re: Pattern Overlay Method

Postby yzfwsf » Mon Oct 21, 2024 3:44 am

What I mean is that the POM process should add the function of Hidden Single, so as to reduce unnecessary combinations.
yzfwsf
 
Posts: 921
Joined: 16 April 2019

Re: Pattern Overlay Method

Postby P.O. » Mon Oct 21, 2024 3:57 am

my pom procedure uses Singles and therefore both naked and hidden single
P.O.
 
Posts: 1764
Joined: 07 June 2021

Re: Pattern Overlay Method

Postby rjamil » Tue Oct 22, 2024 1:35 pm

Hi experts,

I have an idea to speed up the searching procedure of POM, without swapping and complexity, by adding a reference table of two dimensional array T[9, 60] containing 8 remaining disjoint subset of particular digit for each first row's cell; and, with template skipping as proposed earlier.

Here I am sharing disjoint cells reference table:
Hidden Text: Show
Code: Select all
           T[9][60] = {      // Pattern Overlay Method Reference Table
  {12,13,14,15,16,17,21,22,23,24,25,26,28,29,30,31,32,33,34,35,
   37,38,39,40,41,42,43,44,46,47,48,49,50,51,52,53,55,56,57,58,
   59,60,61,62,64,65,66,67,68,69,70,71,73,74,75,76,77,78,79,80},
  {12,13,14,15,16,17,21,22,23,24,25,26,27,29,30,31,32,33,34,35,
   36,38,39,40,41,42,43,44,45,47,48,49,50,51,52,53,54,56,57,58,
   59,60,61,62,63,65,66,67,68,69,70,71,72,74,75,76,77,78,79,80},
  {12,13,14,15,16,17,21,22,23,24,25,26,27,28,30,31,32,33,34,35,
   36,37,39,40,41,42,43,44,45,46,48,49,50,51,52,53,54,55,57,58,
   59,60,61,62,63,54,66,67,68,69,70,71,72,73,75,76,77,78,79,80},
  { 9,10,11,15,16,17,18,19,20,24,25,26,27,28,29,31,32,33,34,35,
   36,37,38,40,41,42,43,44,45,46,47,49,50,51,52,53,54,55,56,58,
   59,60,61,62,63,64,65,67,68,69,70,71,72,73,74,76,77,78,79,80},
  { 9,10,11,15,16,17,18,19,20,24,25,26,27,28,29,30,32,33,34,35,
   36,37,38,39,41,42,43,44,45,46,47,48,50,51,52,53,54,55,56,57,
   59,60,61,62,63,64,65,66,68,69,70,71,72,73,74,75,77,78,79,80},
  { 9,10,11,15,16,17,18,19,20,24,25,26,27,28,29,30,31,33,34,35,
   36,37,38,39,40,42,43,44,45,46,47,48,49,51,52,53,54,55,56,57,
   58,60,61,62,63,64,65,66,67,69,70,71,72,73,74,75,76,78,79,80},
  { 9,10,11,12,13,14,18,19,20,21,22,23,27,28,29,30,31,32,34,35,
   36,37,38,39,40,41,43,44,45,46,47,48,49,50,52,53,54,55,56,57,
   58,59,61,62,63,64,65,66,67,68,70,71,72,73,74,75,76,77,79,80},
  { 9,10,11,12,13,14,18,19,20,21,22,23,27,28,29,30,31,32,33,35,
   36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,53,54,55,56,57,
   58,59,60,62,63,64,65,66,67,68,69,71,72,73,74,75,76,77,78,80},
  { 9,10,11,12,13,14,18,19,20,21,22,23,27,28,29,30,31,32,33,34,
   36,37,38,39,40,41,42,43,45,46,47,48,49,50,51,52,54,55,56,57,
   58,59,60,61,63,64,65,66,67,68,69,70,72,73,74,75,76,77,78,79}}

Where as:
0-6 position represent 2nd row disjoint cells;
6-11 => 3rd;
12-19 => 4th;
20-27 => 5th;
28-35 => 6th;
36-43 => 7th;
44-51 => 8th; and
52-59 => 9th.

I will then temper the Myth Jellies POM Template stored in two dimensional array of 46656 X 9 elements, by giving credit to him, as follows:

I'll take only the first 5184 rows X 8 columns, omitting rest of the 41,472 rows X first column.
Now, carefully change the first column values from 12-17 to 0-5;
second => from 21-26 to 6-11;
third => from 28-35 to 12-19;
fourth => from 37-44 to 20-27;
fifth => from 46-53 to 28-35;
sixth => from 55-62 to 36-43;
seventh => from 64-71 to 44-51; and
eight => from 73-80 to 52-59.

In this way, I will be able to point each templates to its corresponding reference table, which is pre-ordered reference to the original Sudoku grid.

This will definitely made an ultra fast POM searching routine.

Hope my above proposed logic is understandable for everyone.

R. Jamil
rjamil
 
Posts: 785
Joined: 15 October 2014
Location: Karachi, Pakistan

Re: Pattern Overlay Method

Postby P.O. » Tue Oct 22, 2024 5:03 pm

Hi R Jamil, an example with a puzzle would be welcome to understand what you are doing
P.O.
 
Posts: 1764
Joined: 07 June 2021

Re: Pattern Overlay Method

Postby rjamil » Thu Oct 24, 2024 1:40 am

Hi P.O.,

P.O. wrote:Hi R Jamil, an example with a puzzle would be welcome to understand what you are doing

If you are familiar with my tempered POM, disjoint cells reference table and POM skips/jumps then I am going to show you how to search POM eliminations and placements as follows:

I have stored Sudoku puzzle in two different arrays, i.e., s[81] contain clues + solved; and g[81] contain pencilmarks.

1) for x = 1; x < 10; ++x // for each digit
2) k[81] = {0}; // assign array holding digit count, initializing with 0's
3) for y = 0; y < 9; ++y // for each cell in first row
4) if s[y] or g[y] not contain digit x then goto 3 // if digit not found in cell
5) for z = 0; z < 5184; z += 864 // loop for each POM template
6) for a = 0; a < 8; ++a // loop for each POM cell
7) if s[t[p[z][a]] or g[t[p[z][a]] not contain digit x then goto 5
8) next a
9) if a > 7 then increment each cell in k array as digit count
10) next z
...

Hope my above logic is simple to understand as I am yet to start coding/programming.

R. Jamil

Added as on 20241026: Wish to inform that, I have implemented the template skipping/stepping in POM routine and updated my GitHub site. Now, working on removal of the swap routine, without loosing any scenario. My POM routine will then become robust and exhaustive.

Slightly change the values of T[8] = {863,287,47,11, 5, 1, 0, 0}

Added as on 20241104: wish to inform that, after very hard effort spent on several hours, I finally managed to remove the swap routine from the pattern overlay method.

For this only 3 x 5184 x 8 templates have to be used instead of 5184 x 8 or 46656 x 9. While 9 x 60 reference array and stepping have to be used۔

For rest of the details after cleaning and completing the code, will share the final source code with explanation here shortly.
rjamil
 
Posts: 785
Joined: 15 October 2014
Location: Karachi, Pakistan

Re: Pattern Overlay Method

Postby rjamil » Wed Nov 13, 2024 10:07 pm

Hi experts,

I am sharing how my POM routine works with this puzzle.

Hidden Text: Show
Code: Select all
......896....9.2..9..7.........3..7..56.......8..........1.65..4......3....8.....#https://www.reddit.com/r/sudoku/comments/160ycoj/is_this_a_legit_use_of_pom/
+---+---+---+
|...|...|896|
|...|.9.|2..|
|9..|7..|...|
+---+---+---+
|...|.3.|.7.|
|.56|...|...|
|.8.|...|...|
+---+---+---+
|...|1.6|5..|
|4..|...|.3.|
|...|8..|...|
+---+---+---+
 +------------------------+-----------------------+----------------------+
 | 12357   12347   123457 | 2345   1245    12345  | 8      9      6      |
 | 135678  13467   134578 | 3456   9       13458  | 2      145    13457  |
 | 9       12346   123458 | 7      124568  123458 | 134    145    1345   |
 +------------------------+-----------------------+----------------------+
 | 12      1249    1249   | 24569  3       124589 | 1469   7      124589 |
 | 1237    5       6      | 249    12478   124789 | 1349   1248   123489 |
 | 1237    8       123479 | 24569  124567  124579 | 13469  12456  123459 |
 +------------------------+-----------------------+----------------------+
 | 2378    2379    23789  | 1      247     6      | 5      248    24789  |
 | 4       12679   125789 | 259    257     2579   | 1679   3      12789  |
 | 123567  123679  123579 | 8      2457    234579 | 14679  1246   12479  |
 +------------------------+-----------------------+----------------------+
1st) Hidden single: 7 @ r2c9 from values 13457 Box 3 wise
 +------------------------+-----------------------+----------------------+
 | 12357   12347   123457 | 2345   1245    12345  | 8      9      6      |
 | 13568   1346    13458  | 3456   9       13458  | 2      145    7      |
 | 9       12346   123458 | 7      124568  123458 | 134    145    1345   |
 +------------------------+-----------------------+----------------------+
 | 12      1249    1249   | 24569  3       124589 | 1469   7      124589 |
 | 1237    5       6      | 249    12478   124789 | 1349   1248   123489 |
 | 1237    8       123479 | 24569  124567  124579 | 13469  12456  123459 |
 +------------------------+-----------------------+----------------------+
 | 2378    2379    23789  | 1      247     6      | 5      248    2489   |
 | 4       12679   125789 | 259    257     2579   | 1679   3      1289   |
 | 123567  123679  123579 | 8      2457    234579 | 14679  1246   1249   |
 +------------------------+-----------------------+----------------------+
2nd) Hidden single: 3 @ r9c6 from values 234579 Box 8 wise
 +----------------------+-----------------------+----------------------+
 | 12357  12347  123457 | 2345   1245    1245   | 8      9      6      |
 | 13568  1346   13458  | 3456   9       1458   | 2      145    7      |
 | 9      12346  123458 | 7      124568  12458  | 134    145    1345   |
 +----------------------+-----------------------+----------------------+
 | 12     1249   1249   | 24569  3       124589 | 1469   7      124589 |
 | 1237   5      6      | 249    12478   124789 | 1349   1248   123489 |
 | 1237   8      123479 | 24569  124567  124579 | 13469  12456  123459 |
 +----------------------+-----------------------+----------------------+
 | 2378   2379   23789  | 1      247     6      | 5      248    2489   |
 | 4      12679  125789 | 259    257     2579   | 1679   3      1289   |
 | 12567  12679  12579  | 8      2457    3      | 14679  1246   1249   |
 +----------------------+-----------------------+----------------------+
2) Locked candidate Type 1 (Pointing): 3 @ r3c79 => -3 @ r3c23
 +----------------------+-----------------------+----------------------+
 | 12357  12347  123457 | 2345   1245    1245   | 8      9      6      |
 | 13568  1346   13458  | 3456   9       1458   | 2      145    7      |
 | 9      1246   12458  | 7      124568  12458  | 134    145    1345   |
 +----------------------+-----------------------+----------------------+
 | 12     1249   1249   | 24569  3       124589 | 1469   7      124589 |
 | 1237   5      6      | 249    12478   124789 | 1349   1248   123489 |
 | 1237   8      123479 | 24569  124567  124579 | 13469  12456  123459 |
 +----------------------+-----------------------+----------------------+
 | 2378   2379   23789  | 1      247     6      | 5      248    2489   |
 | 4      12679  125789 | 259    257     2579   | 1679   3      1289   |
 | 12567  12679  12579  | 8      2457    3      | 14679  1246   1249   |
 +----------------------+-----------------------+----------------------+
2) Locked candidate Type 1 (Pointing): 9 @ r8c46 => -9 @ r8c2379
 +----------------------+-----------------------+----------------------+
 | 12357  12347  123457 | 2345   1245    1245   | 8      9      6      |
 | 13568  1346   13458  | 3456   9       1458   | 2      145    7      |
 | 9      1246   12458  | 7      124568  12458  | 134    145    1345   |
 +----------------------+-----------------------+----------------------+
 | 12     1249   1249   | 24569  3       124589 | 1469   7      124589 |
 | 1237   5      6      | 249    12478   124789 | 1349   1248   123489 |
 | 1237   8      123479 | 24569  124567  124579 | 13469  12456  123459 |
 +----------------------+-----------------------+----------------------+
 | 2378   2379   23789  | 1      247     6      | 5      248    2489   |
 | 4      1267   12578  | 259    257     2579   | 167    3      128    |
 | 12567  12679  12579  | 8      2457    3      | 14679  1246   1249   |
 +----------------------+-----------------------+----------------------+
2) Locked candidate Type 1 (Pointing): 4 @ r79c5 => -4 @ r1356c5
 +----------------------+----------------------+----------------------+
 | 12357  12347  123457 | 2345   125    1245   | 8      9      6      |
 | 13568  1346   13458  | 3456   9      1458   | 2      145    7      |
 | 9      1246   12458  | 7      12568  12458  | 134    145    1345   |
 +----------------------+----------------------+----------------------+
 | 12     1249   1249   | 24569  3      124589 | 1469   7      124589 |
 | 1237   5      6      | 249    1278   124789 | 1349   1248   123489 |
 | 1237   8      123479 | 24569  12567  124579 | 13469  12456  123459 |
 +----------------------+----------------------+----------------------+
 | 2378   2379   23789  | 1      247    6      | 5      248    2489   |
 | 4      1267   12578  | 259    257    2579   | 167    3      128    |
 | 12567  12679  12579  | 8      2457   3      | 14679  1246   1249   |
 +----------------------+----------------------+----------------------+
2) POM: Digit 6 in r1c9 r2c124 r3c25 r4c47 r5c3 r6c4578 r7c6 r8c27 r9c1278
Digit 6 not in 5 Templates => -6 @ r2c4 r3c2 r6c5
Digit 6 in all 5 Templates => 6 @ r3c5
2) POM: Digit 8 in r1c7 r2c136 r3c36 r4c69 r5c5689 r6c2 r7c1389 r8c39 r9c4
Digit 8 not in 1 Template => -8 @ r2c3 r2c6 r3c3 r4c6 r5c6 r5c8 r5c9 r7c1 r7c3 r7c9 r8c9
Digit 8 in all 1 Template => 8 @ r2c1 r3c6 r4c9 r5c5 r7c8 r8c3
 +----------------------+---------------------+----------------------+
 | 12357  12347  123457 | 2345   125   1245   | 8      9      6      |
 | 8      1346   1345   | 345    9     145    | 2      145    7      |
 | 9      124    1245   | 7      6     8      | 134    145    1345   |
 +----------------------+---------------------+----------------------+
 | 12     1249   1249   | 24569  3     12459  | 1469   7      8      |
 | 1237   5      6      | 249    8     12479  | 1349   124    12349  |
 | 1237   8      123479 | 24569  1257  124579 | 13469  12456  123459 |
 +----------------------+---------------------+----------------------+
 | 237    2379   2379   | 1      247   6      | 5      8      249    |
 | 4      1267   8      | 259    257   2579   | 167    3      12     |
 | 12567  12679  12579  | 8      2457  3      | 14679  1246   1249   |
 +----------------------+---------------------+----------------------+

R. Jamil
rjamil
 
Posts: 785
Joined: 15 October 2014
Location: Karachi, Pakistan

Re: Pattern Overlay Method

Postby P.O. » Thu Nov 14, 2024 6:45 am

hi R.Jamil, thanks for sharing your work
what you show corresponds for me to the initialization phase before any combination of templates is made and here are the differences that i see in our ways of doing things
- i only use Singles to update the resolution state, especially as Myth Jellies pointed out, i quote:
(POM) "finds every single-digit reduction possible at that point in the puzzle. All locked candidates, x-wings, swordfish, jellyfish, finned fish, simple coloring, strong links, multi-coloring, grouped multi-coloring, x-cycles, grouped x-cycles, and franken-fish reductions for any converted digits are found"
all these eliminations are found by simply examining the templates.
- i first check if there are candidates that can be set as is the case here for r3c5=6 and then i immediately update the resolution state with Singles, which here has the effect of putting in addition to r3c5=6 22 other placements.
- i recompute all the templates and here their examination makes me find 21 eliminations accompanied by 2 placements.
- i do another update of the templates and i find nothing more
the next phase is to start the combinations from the following situation:
Code: Select all
12357   12347   123457  2345    1245    1245    8       9       6               
13568   1346    13458   3456    9       1458    2       145     7               
9       12346   123458  7       124568  12458   134     145     1345             
12      1249    1249    24569   3       124589  1469    7       124589           
1237    5       6       249     12478   124789  1349    1248    123489           
1237    8       123479  24569   124567  124579  13469   12456   123459           
2378    2379    23789   1       247     6       5       248     2489             
4       12679   125789  259     257     2579    1679    3       1289             
12567   12679   12579   8       2457    3       14679   1246    1249             
275 candidates.

#VT: (686 874 24 282 82 5 29 6 36)
Cells: nil nil nil nil nil (23) nil nil nil
SetVC: ( n6r3c5   n8r5c5   n8r7c8   n8r4c9   n8r8c3   n8r2c1 
         n6r2c2   n6r9c1   n8r3c6   n5r9c3   n5r1c1   n6r6c8   
         n6r8c7   n7r9c7   n5r6c9   n6r4c4   n5r8c5   n5r4c6   
         n5r3c8   n5r2c4   n3r1c4   n3r2c3   n3r7c2 )

#VT: (17 28 3 21 1 1 3 1 10)
Cells: nil nil nil nil nil nil nil nil nil
Candidates:(2 20 29 30 48) (2 3 37 40 42 46 48) nil (5 42 50 51) nil nil (48 55) nil (45 65 72)
EraseCC: ( n2r7c1   n1r4c1 )

#VT: (10 14 3 21 1 1 3 1 10)
Cells: nil nil nil nil nil nil nil nil nil
Candidates:nil nil nil nil nil nil nil nil nil

5     47    147   3     12    124   8     9     6             
8     6     3     5     9     14    2     14    7             
9     24    124   7     6     8     134   5     134           
1     249   249   6     3     5     49    7     8             
37    5     6     49    8     179   1349  124   1234           
37    8     49    249   127   1279  1349  6     5             
2     3     79    1     47    6     5     8     49             
4     17    8     29    5     279   6     3     12             
6     19    5     8     24    3     7     124   1249           
95 candidates.
P.O.
 
Posts: 1764
Joined: 07 June 2021

Re: Pattern Overlay Method

Postby rjamil » Thu Nov 14, 2024 1:18 pm

Hi P.O.,

Many thanks for replying with your fruitful findings.

I coded my POM routine robust and exhaustive (It does not mean that someone else will not find a way faster than mine. However, I checked and confirmed that my routine is exhaustive (However expert opinion/criticism are always welcome.)

I never intended to code any technique for separate checking purpose. But, my understanding is that, to search POM after all basic moves exhausted, and, check all digit one by one in a single go.

Hope, my POM routine works as last resort but before guessing, just like Andrew Stuart's did in his online solver.

Basically, I programmed vanilla Sudoku solver for bulk puzzle solving with minimum guessing. I only understand pattern based logic and trying to code for speed and minimum to none duplicate searching criteria in mind.

However, my program is free to use personally, and easy to exclude/commented any technique if one need to do so.

R. Jamil
rjamil
 
Posts: 785
Joined: 15 October 2014
Location: Karachi, Pakistan

Re: Pattern Overlay Method

Postby rjamil » Thu Nov 14, 2024 8:14 pm

Hi again,

After commented all technics from RJSudoku.c. Only singleton, POM and guess remain, following results obtain:

Code: Select all
....47...8......9.....3....2.....7.5.6.9...........3...13.........6...8.4.7......#17September24
 +----------------------+------------------------+------------------------+
 | 13569  2359   12569  | 1258    4       7      | 12568   12356   12368  |
 | 8      23457  12456  | 125     1256    1256   | 12456   9       123467 |
 | 15679  24579  124569 | 1258    3       125689 | 124568  124567  124678 |
 +----------------------+------------------------+------------------------+
 | 2      3489   1489   | 1348    168     13468  | 7       146     5      |
 | 1357   6      1458   | 9       12578   123458 | 1248    124     1248   |
 | 1579   45789  14589  | 124578  125678  124568 | 3       1246    124689 |
 +----------------------+------------------------+------------------------+
 | 569    1      3      | 24578   25789   24589  | 24569   24567   24679  |
 | 59     259    259    | 6       12579   123459 | 12459   8       123479 |
 | 4      2589   7      | 12358   12589   123589 | 12569   12356   12369  |
 +----------------------+------------------------+------------------------+
1st) Hidden single: 9 @ r3c6 from values 125689 Box 2 wise
2nd) Hidden single: 9 @ r6c9 from values 124689 Box 6 wise
3rd) Hidden single: 6 @ r7c1 from values 569 Box 7 wise
4th) Hidden single: 8 @ r9c2 from values 2589 Box 7 wise
 +--------------------+------------------------+------------------------+
 | 1359  2359   12569 | 1258    4       7      | 12568   12356   12368  |
 | 8     23457  12456 | 125     1256    1256   | 12456   9       123467 |
 | 157   2457   12456 | 1258    3       9      | 124568  124567  124678 |
 +--------------------+------------------------+------------------------+
 | 2     349    1489  | 1348    168     13468  | 7       146     5      |
 | 1357  6      1458  | 9       12578   123458 | 1248    124     1248   |
 | 157   457    1458  | 124578  125678  124568 | 3       1246    9      |
 +--------------------+------------------------+------------------------+
 | 6     1      3     | 24578   25789   2458   | 2459    2457    247    |
 | 59    259    259   | 6       12579   12345  | 12459   8       12347  |
 | 4     8      7     | 1235    1259    1235   | 12569   12356   1236   |
 +--------------------+------------------------+------------------------+
4) POM: Digit 2 in r1c234789 r2c2345679 r3c234789 r4c1 r5c56789 r6c4568 r7c456789 r8c235679 r9c456789
Digit 2 not in 576 Templates => -2 @ r8c5 r8c6 r8c7 r8c9
4) POM: Digit 3 in r1c1289 r2c29 r3c5 r4c246 r5c16 r6c7 r7c3 r8c69 r9c4689
Digit 3 not in 5 Templates => -3 @ r1c1 r4c2 r5c6
Digit 3 in all 5 Templates => 3 @ r5c1
4) POM: Digit 5 in r1c123478 r2c234567 r3c123478 r4c9 r5c356 r6c123456 r7c45678 r8c123567 r9c45678
Digit 5 not in 432 Templates => -5 @ r8c5 r8c6 r8c7
4) POM: Digit 6 in r1c3789 r2c35679 r3c3789 r4c568 r5c2 r6c568 r7c1 r8c4 r9c789
Digit 6 not in 16 Templates => -6 @ r1c8 r2c3 r2c7 r2c9 r3c8 r9c8
4) POM: Digit 7 in r1c6 r2c29 r3c1289 r4c7 r5c5 r6c1245 r7c4589 r8c59 r9c3
Digit 7 not in 1 Template => -7 @ r2c9 r3c1 r3c2 r3c9 r6c2 r6c4 r6c5 r7c5 r7c8 r7c9 r8c5
Digit 7 in all 1 Template => 7 @ r2c2 r3c8 r5c5 r6c1 r7c4 r8c9
4) POM: Digit 8 in r1c479 r2c1 r3c479 r4c3456 r5c3679 r6c3456 r7c56 r8c8 r9c2
Digit 8 not in 16 Templates => -8 @ r4c4 r5c3 r5c6 r6c4
4) POM: Digit 9 in r1c123 r2c8 r3c6 r4c23 r5c4 r6c9 r7c57 r8c12357 r9c57
Digit 9 not in 8 Templates => -9 @ r8c5 r8c7
 +------------------+---------------------+---------------------+
 | 159  2359  12569 | 1258  4      7      | 12568   1235  12368 |
 | 8    7     1245  | 125   1256   1256   | 1245    9     1234  |
 | 15   245   12456 | 1258  3      9      | 124568  7     12468 |
 +------------------+---------------------+---------------------+
 | 2    49    1489  | 134   168    13468  | 7       146   5     |
 | 3    6     145   | 9     7      1245   | 1248    124   1248  |
 | 7    45    1458  | 1245  12568  124568 | 3       1246  9     |
 +------------------+---------------------+---------------------+
 | 6    1     3     | 7     2589   2458   | 2459    245   24    |
 | 59   259   259   | 6     1      134    | 14      8     7     |
 | 4    8     7     | 1235  1259   1235   | 12569   1235  1236  |
 +------------------+---------------------+---------------------+
stte

Code: Select all
....46...1......8.....3....2.....6.5.5.8...........3...13.........5...7.4.6......#17August24
 +-----------------------+------------------------+-------------------------+
 | 35789  23789   25789  | 1279    4       6      | 12579   12359   12379   |
 | 1      234679  24579  | 279     2579    2579   | 24579   8       234679  |
 | 56789  246789  245789 | 1279    3       125789 | 124579  124569  124679  |
 +-----------------------+------------------------+-------------------------+
 | 2      34789   14789  | 13479   179     13479  | 6       149     5       |
 | 3679   5       1479   | 8       12679   123479 | 12479   1249    12479   |
 | 6789   46789   14789  | 124679  125679  124579 | 3       1249    124789  |
 +-----------------------+------------------------+-------------------------+
 | 5789   1       3      | 24679   26789   24789  | 24589   24569   24689   |
 | 89     289     289    | 5       12689   123489 | 12489   7       1234689 |
 | 4      2789    6      | 12379   12789   123789 | 12589   12359   12389   |
 +-----------------------+------------------------+-------------------------+
1st) Hidden single: 8 @ r3c6 from values 125789 Box 2 wise
2nd) Hidden single: 8 @ r6c9 from values 124789 Box 6 wise
3rd) Hidden single: 5 @ r7c1 from values 5789 Box 7 wise
4th) Hidden single: 7 @ r9c2 from values 2789 Box 7 wise
 +--------------------+------------------------+------------------------+
 | 3789  2389   25789 | 1279    4       6      | 12579   12359   12379  |
 | 1     23469  24579 | 279     2579    2579   | 24579   8       234679 |
 | 679   2469   24579 | 1279    3       8      | 124579  124569  124679 |
 +--------------------+------------------------+------------------------+
 | 2     3489   14789 | 13479   179     13479  | 6       149     5      |
 | 3679  5      1479  | 8       12679   123479 | 12479   1249    12479  |
 | 679   469    1479  | 124679  125679  124579 | 3       1249    8      |
 +--------------------+------------------------+------------------------+
 | 5     1      3     | 24679   26789   2479   | 2489    2469    2469   |
 | 89    289    289   | 5       12689   12349  | 12489   7       123469 |
 | 4     7      6     | 1239    1289    1239   | 12589   12359   1239   |
 +--------------------+------------------------+------------------------+
4) POM: Digit 1 in r1c4789 r2c1 r3c4789 r4c34568 r5c356789 r6c34568 r7c2 r8c5679 r9c456789
Digit 1 not in 144 Templates => -1 @ r4c4 r6c4 r9c4
4) POM: Digit 2 in r1c234789 r2c2345679 r3c234789 r4c1 r5c56789 r6c4568 r7c456789 r8c235679 r9c456789
Digit 2 not in 576 Templates => -2 @ r8c5 r8c6 r8c7 r8c9
4) POM: Digit 3 in r1c1289 r2c29 r3c5 r4c246 r5c16 r6c7 r7c3 r8c69 r9c4689
Digit 3 not in 5 Templates => -3 @ r1c1 r4c2 r5c6
Digit 3 in all 5 Templates => 3 @ r5c1
4) POM: Digit 5 in r1c378 r2c3567 r3c378 r4c9 r5c2 r6c56 r7c1 r8c4 r9c78
Digit 5 not in 8 Templates => -5 @ r2c3 r2c7
4) POM: Digit 6 in r1c6 r2c29 r3c1289 r4c7 r5c5 r6c1245 r7c4589 r8c59 r9c3
Digit 6 not in 1 Template => -6 @ r2c9 r3c1 r3c2 r3c9 r6c2 r6c4 r6c5 r7c5 r7c8 r7c9 r8c5
Digit 6 in all 1 Template => 6 @ r2c2 r3c8 r5c5 r6c1 r7c4 r8c9
4) POM: Digit 7 in r1c13479 r2c345679 r3c13479 r4c3456 r5c3679 r6c3456 r7c56 r8c8 r9c2
Digit 7 not in 48 Templates => -7 @ r1c3 r2c3 r3c3 r5c3 r5c6
4) POM: Digit 8 in r1c123 r2c8 r3c6 r4c23 r5c4 r6c9 r7c57 r8c12357 r9c57
Digit 8 not in 8 Templates => -8 @ r8c5 r8c7
4) POM: Digit 9 in r1c1234789 r2c345679 r3c123479 r4c234568 r5c36789 r6c234568 r7c56789 r8c123567 r9c456789
Digit 9 not in 1536 Templates => -9 @ r8c5 r8c6 r8c7
 +------------------+---------------------+----------------------+
 | 789  2389  2589  | 1279  4      6      | 12579   12359  12379 |
 | 1    6     249   | 279   2579   2579   | 2479    8      23479 |
 | 79   249   2459  | 1279  3      8      | 124579  6      12479 |
 +------------------+---------------------+----------------------+
 | 2    489   14789 | 3479  179    13479  | 6       149    5     |
 | 3    5     149   | 8     6      1249   | 12479   1249   12479 |
 | 6    49    1479  | 2479  12579  124579 | 3       1249   8     |
 +------------------+---------------------+----------------------+
 | 5    1     3     | 6     2789   2479   | 2489    249    249   |
 | 89   289   289   | 5     1      134    | 14      7      6     |
 | 4    7     6     | 239   1289   1239   | 12589   12359  1239  |
 +------------------+---------------------+----------------------+
stte

R. Jamil
rjamil
 
Posts: 785
Joined: 15 October 2014
Location: Karachi, Pakistan

Re: Pattern Overlay Method

Postby P.O. » Fri Nov 15, 2024 5:49 am

i find the same eliminations which correspond to those mentioned above in the quote from Myth Jellies but the real power of a template procedure as a solving technique begins with the combinations of templates which consists of testing the compatibility of templates for different values ​​and gradually eliminating all those which do not fit into any of them.
Do you intend to develop your procedure in this way?
P.O.
 
Posts: 1764
Joined: 07 June 2021

PreviousNext

Return to Advanced solving techniques