Wolfram Language Paclet Repository

Community-contributed installable additions to the Wolfram Language

Primary Navigation

    • Cloud & Deployment
    • Core Language & Structure
    • Data Manipulation & Analysis
    • Engineering Data & Computation
    • External Interfaces & Connections
    • Financial Data & Computation
    • Geographic Data & Computation
    • Geometry
    • Graphs & Networks
    • Higher Mathematical Computation
    • Images
    • Knowledge Representation & Natural Language
    • Machine Learning
    • Notebook Documents & Presentation
    • Scientific and Medical Data & Computation
    • Social, Cultural & Linguistic Data
    • Strings & Text
    • Symbolic & Numeric Computation
    • System Operation & Setup
    • Time-Related Computation
    • User Interface Construction
    • Visualization & Graphics
    • Random Paclet
    • Alphabetical List
  • Using Paclets
    • Get Started
    • Download Definition Notebook
  • Learn More about Wolfram Language

SudokuHints

Guides

  • Sudoku Hints

Symbols

  • BackTracking
  • CellSize
  • ColoredCells
  • CommonCellColor
  • Disks
  • DoubleCandidates
  • EditSudoku
  • EnterClues
  • EnterSudoku
  • ExportSudoku
  • ExtraBlockCellColor
  • ExtraBlocks
  • HiddenPairs
  • HiddenQuadruples
  • HiddenSingles
  • HiddenTriples
  • Hints
  • IncludeCandidates
  • LockedCandidates
  • MaxSolutions
  • MaxSteps
  • MonitorSteps
  • Pairs
  • ReduceSudoku
  • SetDisplay
  • ShowCandidates
  • ShowInfo
  • Singles
  • SolveSudoku
  • SudokuFromString
  • Sudoku
  • SudokuToString
  • ThreeGroups
  • Triples
  • YWing
  • $AllRules
  • $Sudoku
FredSimons`SudokuHints`
ThreeGroups
​
ThreeGroups
[sudoku]
shows all reductions in a sudoku due to the rule three groups.
​
Details and Options

Examples  
(3)
Basic Examples  
(3)
In[1]:=
ThreeGroups
["186357249973000165000691738807400090000089070091002080200000850000000027708006914"]
Out[1]=
Contents cannot be rendered at this time; please try again later
R4C2(2,3,6)
When the candidate 5 is not in the yellow cell R4C6, it must be in the light yellow cell R8C6, so it cannot be in the light yellow cell R9C4, so it must be in the yellow cell R9C2. The green cell R4C2 sees both yellow cells, so the candidate 5 can be removed from this cell.
​
In[1]:=
ThreeGroups
["C0A2Y0KOc0X1b1g3@1M1qdI2sBg343A0g0o9w101@282EBg3J3Q0&1M3f1B1H1Q2O9w2b2q3k9w3v4048QM4IQM4a5a5h5t6q3a6!1u1M741q4i4m2s4y5&6A6G7J7R7Y2s535E5P6N6Y6p7q7y83898G6g8Z9a9cbi9m3uAo3aAy2YB22Y8i8m8!9!A02YAA2YBLBRBZ8%6g9F9JAK3kAdAhBg3aByC0"]
Out[1]=
Contents cannot be rendered at this time; please try again later
R4C2(1,7)
This example shows for the candidate 9 a kite. When 9 is not in R2C2, then it must be in R3C1, so it cannot be in R3C5, so it must be in R4C5. Therefore the candidate 9 must be placed in at least one of the yellow cells R2C2 and R4C5. The green cell R4C2 sees both yellow cells, and therefore the candidate 9 can be removed from this cell.
​
In[1]:=
ThreeGroups
["040061800260509041050400006800094010490710083016800004534928167080000409000140008"]
Out[1]=
Contents cannot be rendered at this time; please try again later
R1C8(3,5,7,9), R4C2(7), R4C3(3,5,7), R4C7(5,6,7)
This example shows the XWing or XRule for the candidate 2. In fact, it is a double ThreeGroups. Consider the four yellow cells. If 2 is not in R1C4, it is in R4C4, not in R4C9, and therefore in R1C9. Hence the candidate 2 can be removed from the green cell R1C8. Similarly, if 2 is not in R4C4, it is in R1C4, hence not in R1C9 and therefore in R4C9. It follows that the candidate 2 can be removed from the green cells in row 4.
The four yellow cells form a rectangle and the candidate 2 has to be placed either on R1C4, R4C9 or on R1C9, R4C4. That are the diagonals of the rectangle and that explains the name XRule.
SeeAlso
$AllRules
 
▪
Hints
 
▪
ReduceSudoku
RelatedGuides
▪
Sudoku Hints
""

© 2025 Wolfram. All rights reserved.

  • Legal & Privacy Policy
  • Contact Us
  • WolframAlpha.com
  • WolframCloud.com