XYZ-Ring

Advanced methods and approaches for solving Sudoku puzzles

Re: XYZ-Ring

Postby rjamil » Wed Dec 17, 2025 1:59 am

Hi yzfwsf,

yzfwsf wrote:If the whole structure is zero rank, it is named Complete XYZ Ring; otherwise, it is named Half XYZ Ring.

Thanks for providing the definition of techniques naming convention (nomenclature).

However, I have drawback about the same and totally rely on pattern based techniques. I ignore something sometimes and move on as long as my program produces good results.

I have collected and/or derived similar to me look-a-like patterns under one technique name for which, I understand, am wrong several times and ways. But again, my goal is to solve the bulk vanilla Sudoku puzzle with short and simple steps in fast way, coded for minimum duplicate search algorithm/logic.

Therefore, I totally rely on experts, just like one of you as well, to learn.

The pattern in discussion reminds me that it is something like 46th pattern of XY-Wing Transport ERI Ring that is missing in XYZ-Transport ERI Ring category (wrongly identified under Dual XYZ-Hybrid move first). Maybe, I am right and clear now at that point.

So, please accept my apology, if it creates some confusion and withdraw my suggestion of Half naming.

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

Re: XYZ-Ring

Postby yzfwsf » Wed Dec 17, 2025 4:34 am

Hi R. Jamil,
XYZ Ring should be a subset of XYZ Transport, so what you said should be correct, but my solver only implements this simplified version of XYZ Transport, or it is designed on purpose. If XYZ Transport is completely included, it will be repeated with AIC. This can provide users with a simple version of AIC to reduce the slope of the learning curve.
yzfwsf
 
Posts: 970
Joined: 16 April 2019

Re: XYZ-Ring

Postby rjamil » Wed Dec 17, 2025 8:37 pm

Hi yzfwsf,

Once again, thanks for your confirmation and valuable guidance.

However, I extracted XYZ-Hybrid technique from XYZ-Transport technique, and, coded one pattern under one technique only. Understand now than it also fall under XYZ-Ring technique in Chinese.

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

Re: XYZ-Ring

Postby rjamil » Fri Dec 19, 2025 5:10 am

Hi experts,

Checking feasibility for above discussed XYZ-Transport ERI Ring pattern # 46, found following example 17 clue puzzle for test case:

Code: Select all
................12....34.........3.......54.6.17.........8.....3.....79.4..21....
 +------------------+----------------+------------+
 |-5789  5689  5689 | 579  2    -1   | 589  4   3 |
 |*579  -34   -34   |-6   -8    *79  |-59  -1  -2 | -7
 |-1     589   2    | 59   3    -4   | 589  6   7 |
 +------------------+----------------+------------+
 |-589   4589  4589 | 79   6    -2   | 3    78  1 |
 |-2     389   389  | 1    79   -5   | 4    78  6 |
 |-6     1     7    | 3    4    -8   | 2    5   9 |
 +------------------+----------------+------------+
 |*59   -5679 -569  | 8    7[9] (3)  |-1   -2  -4 | -9X
 |-3     2     1    | 4    5     6   | 7    9   8 |
 |-4     789   89   | 2    1     7[9]| 6    3   5 |
 +------------------+----------------+------------+
  -5                            -9X

After basics and a Skyscrapper moves, puzzle state reached as above:
XYZ-Transport: ERI Ring 579 @ r2c16 r7c1 ERI 9 @ b8r7c6 => eliminations as mentioned.
(Note: digit 9 eliminations included but not implemented for XYZ-Transport, showing difference with XY-Wing Transport ERI Ring move.)

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

Re: XYZ-Ring

Postby yzfwsf » Fri Dec 19, 2025 5:46 am

The overall structure is zero rank, but the position of the two links of 9 is uncertain, so we can only delete 5 and 7, so it is called Half XYZ Ring in YZF_sudoku.
The whole structure can finally be filled with one 7, one 5, and two 9, but the specific place of 5 is uncertain, but 5 must appear in column 1, and 7 must appear in row 2
yzfwsf
 
Posts: 970
Joined: 16 April 2019

Re: XYZ-Ring

Postby rjamil » Fri Dec 19, 2025 6:07 am

Hi yzfwsf,

YZF_Sudoku shows:

Half XYZ-Ring: 579 in r2c1,r2c6,r7c1+9r9 => r14c1<>5

As yzfwsf stated above.

Note: I have included elimination of digit 9 only to show if it is XY-Wing Transport ERI Ring move. Will it also be Rank 0 and called Half XY Ring move in Chinese?

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

Re: XYZ-Ring

Postby rjamil » Fri Dec 19, 2025 11:32 am

Another 17 clue example puzzle:

Code: Select all
................12..3..4........54...6..1....72...........6......5...34..81.2....
 +-------------+------------+--------------+
 | 89   57   2 | 1   589  6 | 579  3    4  |
 | 489  45   6 | 89  3    7 | 59   1    2  |
 | 19   157  3 | 2   59   4 | 6    579  8  |
 +-------------+------------+--------------+
 | 13   13   8 | 6   79   5 | 4    2    79 |
 | 5    6    4 | 79  1    2 | 8    79   3  |
 | 7    2    9 | 3   4    8 | 1    6    5  |
 +-------------+------------+--------------+
 | 34   34   7 | 5   6    9 | 2    8    1  |
 | 2    9    5 | 78  78   1 | 3    4    6  |
 | 6    8    1 | 4   2    3 | 579  579  79 |
 +-------------+------------+--------------+

After singleton moves, above mentioned puzzle state reached:
XYZ-Transport: ERI Ring 579 @ r3c58 r5c8 ERI 9 @ b5r5c5 => -5 @ r3c2 => -7 @ r9c8

YZF_Sudoku: Half XYZ-Ring: 579 in r3c8,r3c5,r5c8+9r4 => r3c2<>5, r9c8<>7

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

Re: XYZ-Ring

Postby rjamil » Fri Jan 02, 2026 1:38 am

Ok. This one is the last example of Half XYZ-Ring move:

After several basic moves, puzzle pencilmark state reached as below:
Code: Select all
................12..3..4..5.....5....1.....67.8...9.......1..8...5...9..4...6....
 +--------------------+------------------+--------------+
 | 2679   2579  26789 | 237   2359   1   | 378  4    89 |
 | 79     4579  4789  | 37    359    6   | 378  1    2  |
 | 1      279   3     | 278   289    4   | 6    79   5  |
 +--------------------+------------------+--------------+
 | 2367   2347  2467  | 16    23478  5   | 128  239  89 |
 | 2359   1     249   | 2348  2348   23  | 258  6    7  |
 | 23567  8     267   | 16    237    9   | 125  235  4  |
 +--------------------+------------------+--------------+
 | 2379   2379  279   | 5     1      27  | 4    8    6  |
 | 8      6     5     | 234   234    237 | 9    27   1  |
 | 4      27    1     | 9     6      8   | 257  257  3  |
 +--------------------+------------------+--------------+

XYZ-Transport: ERI Ring 279 @ r3c28 r9c2 ERI 7 @ b9r9c8 => -9 @ r3c5 => -2 @ r147c2

Whereas YZF_Sudoku gives two Half XYZ-Ring moves (twice) as next step:
Half XYZ-Ring: 279 in r3c2,r3c8,r9c2+7c7 => r3c5<>9, r147c2<>2
Half XYZ-Ring: 279 in r3c2,r3c8,r9c2+7b9 => r3c5<>9, r147c2<>2

R. Jamil
Note: my program prefers XYZ-Wing move (XYZ-Wing: 279 @ r39c2 r2c1 => -7 @ r12c2) first, which is also available as all possible steps in YZF_Sudoku, but prefers (Half XYZ-Ring: 279 in r3c2,r3c8,r9c2+7c7 => r3c5<>9, r147c2<>2) as next step. Investigating...
rjamil
 
Posts: 923
Joined: 15 October 2014
Location: Karachi, Pakistan

Re: XYZ-Ring

Postby rjamil » Thu Jan 29, 2026 2:48 am

Hi yzfwsf and StrmCkr,

rjamil wrote:Whereas YZF_Sudoku gives two Half XYZ-Ring moves (twice) as next step:
Half XYZ-Ring: 279 in r3c2,r3c8,r9c2+7c7 => r3c5<>9, r147c2<>2

After deep investigating on above mentioned Half XYZ-Ring move, corresponding to XY-Wing Type 1 Transport examplar 61 and 62, found technically invalid for XYZ-Transport, as per my reckoning.

Will you please confirm whether I am misunderstanding or not?

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

Re: XYZ-Ring

Postby StrmCkr » Thu Jan 29, 2026 4:49 pm

the "2" in box 9 is superfluous

its construction is 3 als with overlap

(2=7)r9c1 - (7)r9c78 = r89c8 -(7=9)r3c8 - (9=27)r39c2 => r147c1 <> 2, r3c5 <> 9
Some do, some teach, the rest look it up.
stormdoku
User avatar
StrmCkr
 
Posts: 1513
Joined: 05 September 2006

Re: XYZ-Ring

Postby rjamil » Fri Jan 30, 2026 2:27 am

Hi StrmCkr,

Checked XYZ-Transport examplar 61 in YZF_Sudoku program as per below pattern:

Code: Select all
,---------------------------------,---------------------------------,---------------------------------,
| 123456789  123456789  123456789 | 123456789  123456789  123456789 | 123456789  123456789  123456789 |
| 123        123456789  123456789 | 123456789  123456789  123456789 | 123456789  12         123456789 |
| 123456789  123456789  123456789 | 123456789  123456789  123456789 | 123456789  123456789  123456789 |
:---------------------------------+---------------------------------+---------------------------------:
| 123456789  123456789  123456789 | 123456789  123456789  123456789 | 23456789   123456789  123456789 |
| 123456789  123456789  123456789 | 123456789  123456789  123456789 | 23456789   123456789  123456789 |
| 123456789  123456789  123456789 | 123456789  123456789  123456789 | 23456789   123456789  123456789 |
:---------------------------------+---------------------------------+---------------------------------:
| 123456789  123456789  123456789 | 123456789  123456789  123456789 | 23456789   123456789  123456789 |
| 13         123456789  123456789 | 123456789  123456789  123456789 | 123456789  123456789  123456789 |
| 123456789  123456789  123456789 | 123456789  123456789  123456789 | 23456789   123456789  123456789 |
'---------------------------------'---------------------------------'---------------------------------'

Image
Half XYZ-Ring: 123 in r2c1,r2c8,r8c1+1c7 => r2c2345679<>2, r1345679c1<>3, r2c9<>1

Now, I am trying to incorporate both, i.e., examplar 61 and 62, under XYZ-Transport move in to my solvers.

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

Re: XYZ-Ring

Postby StrmCkr » Fri Jan 30, 2026 7:07 pm

Code: Select all
(12=3)(r2c18) - (3=1)r8c1 - (1)r8c7=r123c7 -(1=2)r2c8 - (2=13)r28c1 => r2c2345679 <>2, r1345679c1 <> 3
all of the elims as 4 als

Code: Select all
 three does this.
AIC + ALS: (2)r2c18=(13)r2c18-(3=1)r8c1-(1)r8c7=r123c7-(1=2)r2c8 => r2c2345679 <> 2
AIC + ALS: (3)r28c1=(12)r28c1-(2=1)r2c8-(1)r123c7=)r8c7-(1=3)r8c1 => r1345679c1 <> 3
Some do, some teach, the rest look it up.
stormdoku
User avatar
StrmCkr
 
Posts: 1513
Joined: 05 September 2006

Re: XYZ-Ring

Postby rjamil » Sat Jan 31, 2026 2:19 pm

Hi again,

I have revised all XYZ-Transport examplars, found following examplars missing alongwith examplar 46 (examplar 45 already implemented:
Code: Select all
  ---------------+---------------+---------------  ---------------+---------------+---------------
45) /  +z-Y   /  |  .    .    .  |  .    .    .  46) .   -Y    .  |  .    .    .  |  .   [.]   .
  +z-X  xyz +z-X | -XZ  -XZ  -XZ | -XZ   xz  -XZ \  -X   xyz  -X  | -X   -X   -X  | -X   xZ   -X
    /  +z-Y   /  |  .    .    .  |  .    .    .      .   -Y    .  |  .    .    .  |  .   [.]   .
01---------------+---------------+---------------01---------------+---------------+---------------
    .   -YZ   .  |  .    .    .  |  .    .    .      .   -Y    .  |  .    .    .  |  .   [.]   .
    .   -YZ   .  |  .    .    .  |  .    .    .      .   -Y    .  |  .    .    .  |  .   [.]   .
    .   -YZ   .  |  .    .    .  |  .    .    .      .   -Y    .  |  .    .    .  |  .   [.]   .
  ---------------+---------------+---------------  ---------------+---------------+---------------
    .   -YZ   .  |  .    .    .  |  .    .    .      .   -Y    .  |  .    .    .  |  /   +z    /
    .   yz    .  |  .    .    .  |  .    .    .     [.]  yZ   [.] | [.]  [.]  [.] | +z    .   +z
    .   -YZ   .  |  .    .    .  |  .    .    .      .   -Y    .  |  .    .    .  |  /   +z    /
  ---------------+---------------+---------------  ---------------+---------------+---------------

  ---------------+---------------+---------------  ---------------+---------------+---------------
61) .   -Y    .  |  .    .    .  |  .   (.) .    62) .   -Y    .  |  .    .    .  | +z   (.)  (.)
\  -X   xyz  -X  | -X   -X   -X  | -X   xz   -X  \  -X   xyz  -X  | -X   -X   -X  |+z-X  xz   -XZ
    .   -Y    .  |  .    .    .  |  .   (.)   .      .   -Y    .  |  .    .    .  | +z   (.)  (.)
02---------------+---------------+---------------02---------------+---------------+---------------
    .   -Y    .  |  .    .    .  |  .   (.)   .      .   -Y    .  |  .    .    .  |  /    .    .
    .   -Y    .  |  .    .    .  |  .   (.)   .      .   -Y    .  |  .    .    .  |  /    .    .
    .   -Y    .  |  .    .    .  |  .   (.)   .      .   -Y    .  |  .    .    .  |  /    .    .
  ---------------+---------------+---------------  ---------------+---------------+---------------
   +z  +z-Y  +z  |  /    /    /  |  /   +Z    /      .   -Y    .  |  .    .    .  |  /    .    .
   (.)  yz   (.) |  .    .    .  |  .   (.)   .     (.)  yz   (.) | (.)  (.)  (.) | +Z   (.)  (.)
   (.)  -YZ  (.) |  .    .    .  |  .   (.)   .      .   -Y    .  |  .    .    .  |  /    .    .
  ---------------+---------------+---------------  ---------------+---------------+---------------
  ---------------+---------------+---------------  ---------------+---------------+---------------
65) .   -YZ   .  |  .    .    .  |  .   -Z    .  66) .   -Y    .  |  .    .    .  |  /   (.)  (.)
\  -X   xyz  -X  | -X   -X   -X  | -X   xz   -X  \  -XZ  xyz  -XZ | -XZ  -XZ  -XZ |+Z-X   xz  -XZ
    .   -YZ   .  |  .    .    .  |  .   -Z    .      .   -Y    .  |  .    .    .  |  /   (.)  (.)
02---------------+---------------+---------------02---------------+---------------+---------------
    .   -YZ   .  |  .    .    .  |  .   -Z    .      .   -Y    .  |  .    .    .  |  /    .    .
    .   -YZ   .  |  .    .    .  |  .   -Z    .      .   -Y    .  |  .    .    .  |  /    .    .
    .   -YZ   .  |  .    .    .  |  .   -Z    .      .   -Y    .  |  .    .    .  |  /    .    .
  ---------------+---------------+---------------  ---------------+---------------+---------------
    /  +Z-Y   /  |  /    /    /  |  /   +Z    /      .   -Y    .  |  .    .    .  |  /    .    .
   (.)  yz   (.) |  .    .    .  |  .  (-Z)   .     -Z   yz   -Z  | -Z   -Z   -Z  | +Z  (-Z)  -Z
   (.)  -YZ  (.) |  .    .    .  |  .   -Z    .      .   -Y    .  |  .    .    .  |  /    .    .
  ---------------+---------------+---------------  ---------------+---------------+---------------

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

Re: XYZ-Ring

Postby Hajime » Sun Feb 01, 2026 10:20 am

Hi rjamil
Do you program each xyz-ring transport individually?
So like 66 subroutines?
User avatar
Hajime
 
Posts: 1422
Joined: 20 April 2018
Location: Fryslân

Re: XYZ-Ring

Postby rjamil » Sun Feb 01, 2026 6:43 pm

Hi Hajime,

Hajime wrote:Hi rjamil
Do you program each xyz-ring transport individually?
So like 66 subroutines?

Mt program searched XY- and XYZ- Transport routine as per asked by creint here, i.e., searched same patterns as group.

Let for example, search XYZ-Transport examplar 1.
If pattern 1 found but elimination either found or not, search pattern 5.
If both patterns found but elimination either found or not, search pattern 9.
If all three patterns found but elimination either found or not, search pattern 13.
If all four patterns found but elimination either found or not, search pattern 17.
If all five patterns found but elimination either found or not, 'search pattern 21.
If at least one or more of the above patterns elimination found then apply removals as single move.

However, I have'nt apply Ring moves grouped. Only two XYZ-Hybrid moves (that fall under XYZ-Transport move as well) are merged as Dual XYZ-Hybrid move.

R. Jamil

Added as on 20250202: As far as coding each individual examplar separately in my program is concern, the answer is yes, hard coded separate examplar in order not to repeat and unnecessary searching.
Last edited by rjamil on Mon Feb 02, 2026 4:02 pm, edited 2 times in total.
rjamil
 
Posts: 923
Joined: 15 October 2014
Location: Karachi, Pakistan

PreviousNext

Return to Advanced solving techniques