Sudoku Solver for AndroidCheck out the App features. SudokuWiki.org Strategies for Popular Number Puzzles
Solvers
Puzzles
Latest Apps
Str8ts
Other

 Sudoku Solver Please report any bugs and feedback welcome
Candidates can be Edited Highlighted Chained / Shown
Enter clues or solutions
 1 2 3 4 5 6 7 8 9
 Check for solved cells Show Possibles 1: Hidden Singles 2: Naked Pairs/Triples 3: Hidden Pairs/Triples 4: Naked/Hidden Quads 5: Pointing Pairs 6: Box/Line Reduction Tough Strategies *: Gurth's Theorem 7: X-Wing 8: Simple Colouring 9: Y-Wing 10: Swordfish 11: XYZ Wing 12: BUG Diabolical Strategies 13: X-Cycles 14: XY-Chain 15: 3D Medusa 16: Jellyfish 17: Unique Rectangles 18: Fireworks 19: SK Loops 20: Extended Unique Rect. 21: Hidden Unique Rect's 22: WXYZ Wing 23: Aligned Pair Exclusion Extreme Strategies 24: Exocet 25: Grouped X-Cycles 26: Empty Rectangles 27: Finned X-Wing 28: Finned Swordfish 29: Altern. Inference Chains 30: Sue-de-Coq 31: Digit Forcing Chains 32: Nishio Forcing Chains 33: Cell Forcing Chains 34: Unit Forcing Chains 35: Almost Locked Sets 36: Death Blossom 37: Pattern Overlay Method 38: Quad Forcing Chains "Trial and Error" 39: Bowman's Bingo

 Show bi-value cells Show Strong (bi-location) links in Boxes Rows Columns 1 2 3 4 5 6 7 8 9

Please report any bugs - Thanks.

If you are getting errors please
to retrieve the latest script files.
 Auto Tab Auto Clear
Clues+Solved: 0/81
 Pick an example here Easiest Sudoku Gentle Moderate Tough Diabolical Easy 17 Clue Hard 17 Clue Naked Triples Hidden Triple Intersection Removal X-Wing example Simple Col. Rule 2 Simple Col. Rule 4 Simple Col. Rule 4 Y-Wing example Swordfish X-Cycle (weak link) X-Cycle (strong link) XY-Chain 3D Medusa Rule 1 3D Medusa Rule 2 3D Medusa Rule 3 3D Medusa Rule 4 3D Medusa Rule 5 3D Medusa Rule 6 Jellyfish Unique Rect Type 1 Unique Rect Type 2 Unique Rect Type 2b Unique Rect Type 4 Unique Rect Type 4b SK Loop Hidden UR Type 1 Hidden UR Type 2 Hidden UR Type 2b XYZ-Wing Aligned Pair Excl. Grouped X-Cycle Empty Rectangle Finned X-Wing Finned Swordfish Sashimi Finned SF AIC - weak link AIC - strong link AIC - off chain Dual Cell Forcing Ch. Sue-De-Coq Triple Cell Forcing Ch. Triple CFC + ALS Triple Unit Forcing Ch. Almost Locked Set Death Blossom Quad Forcing Chain Exocet Riddle of Sho Escargot Shining Mirror Easter Monster Arto Inkala

Update concerning a new String Definition used in this solver for transporting puzzles

Quick help: Using this Solver

Use the "Import a Sudoku" button or type in a Sudoku puzzle in the small board. You can also pick examples from the list above.
Click on Take Step to step through the solution. Unknown squares are filled with 'candidates' - possible solutions.
Any cells that are reduced to one possible candidate are solved.

You can now use the << button to step back one go. Toggling between Take Step and << helps you see the changes.

Pressing "Enter" on the keyboard after clicking on Take Step is a quick way to activate "Take Step". Details of any solutions will be written out in the text box below the big board. Strategies are ordered by complexity. Any strategy that is successful returns the step-through to the start.

Click on the board to highlight sets of numbers. You can edit the sudoku at any time - entering solutions in the small board or editing candidates. (Toggle between highlighting and editing using the radio buttons at the top.)

 A B C D E F G H J
 Version 2.10 See Strategy Overview documentation Coordinate system: Letter/Number rYcX
 1 2 3 4 5 6 7 8 9

## Welcome to my Sudoku page

Since I first studied Sudoku in May 2005 I think I've finally got a handle on this puzzle. My original intention was to prove to myself that a small number of simple strategies existed that could solve every sudoku. How wrong I was. Sudoku has enormous depth and while this solver has grown up enough to crack 99.9% of puzzles there are many weird and wonderful examples that defeat it. The main reason to keep this solver in development is to analyse these difficult ones. To that end I've added new graphical tools and features which I hope you'll enjoy.

Version 1.30 is a major update since I've found a way to include all the advanced strategies in my off-line C++ solver that were simply not possible to program in Javascript. Much still remains in javascript but it's mostly user interface stuff now.

I am continuing to document the various strategies that I and many other people have invented. These are available here.

But in some cases progress has outstripped the documentation and I can only provide links to the best resources. I've tried to give credit where credit is due. Please update me if I have missed anyone or need to make a correction.

I am now working independently on puzzle creation, especially at www.str8ts.com.

All feedback, comments, arguments, bug reports and strategy ideas are welcome. There is a FEEDBACK form with a column displaying comments and questions. Many thanks to all the people who have done so and helped improve this solver.

Original version 1.01 28th May 2005 - Full version history here

New in version 2.09 (December 12th 2021)

New in version 2.08 (September 28th 2019)
Added detection for Gurth's Symmetrical Placement Theorem. Select Shining Mirror to view this in action.

Many people have written to me to comment about multiple solutions for a given Sudoku. There are no logical tricks the solver can use to detect this other than to not complete correctly. The only way to check this is to perform a brute force analysis which tests every possible legal placement of a number. Computers are good at this and we now have a new yellow button called "Solution Count". Try this on any Sudoku to check whether it has a unique solution.

## Detailed help

Use Clear to empty the board before entering your own puzzle. Save will remember the current state of the board so you can Reload it again (even if you close your browser - you must allow cookies for this to work). Restart applies only to the example puzzles in the list. The current list contains an example puzzle that tests each strategy.

Take Step first displays the possibles or candidates for each unknown cell. These are the numbers that do not contradict any known or solved cells. Once these are displayed Take Step will step through other tests and then loop until it can go no further. The first few tests are the most productive and the solver will often loop between them. If any are successful and the board is changed in any way it will go back to the start and "Check for Solved cells". The reason for this step is to make it easier to spot what's changed. Many of the strategies have knock-on effects which means that they can't be run back-to-back - it's essential that we return to the basic steps. We go back because we want the easiest solve route.

> The first six tests are the simplest and are required for any sudoku. After that you are allowed to choose which strategies the solver will use. Tick and untick the check boxes.

> The order of these advanced strategies - and my inclusion of them in categories 'tough', 'diabolical' and 'extreme' are my personal choice after close study and are roughly in order of complexity. While the logic is different for each, you should be aware that there is considerable overlap in their power to solve in certain situations. For example, X-Cycles are a subset of Alternating Inference Chains. If you turn off X-Cycles the same elimination might turn up under AICs. Since March 2010 I have reworked most chaining strategies to find the best and shortest chains - not necessarily the first one it happens to find. More about what is 'best' will be posted as a document.

> All strategies in the list have links to documentation, but it's worth describing what the first tests do:

• Show Possibles (Naked Singles): For each unknown square we eliminate all possibles where those numbers are known in each row, column and box. This may reveal a single candidate, in which case we have a solution for that cell.
• Hidden Singles: If a candidate occurs once only in a row or column or box we can make it the solution to the cell.
• Test 2: In this test we check for 'naked' Pairs and Triples. For example, if we have two pairs, eg 3-4 and 3-4 in the same row, column or box, then both 3 and 4 must occupy those squares (in what ever order). 3 and 4 can then be eliminated from the rest of the row, column or box.
• Test 3: This test is for Hidden Pairs, Hidden Triples
• Test 4: Naked and Hidden Quads - much rarer but simply extends Pairs and Triples.
• Test 5: See Pointing Pairs and Triples for a full explanation. This test helps us eliminate numbers in rows and columns outside the box.
• Test 6: Box/Line Reduction. We check the box against the rows and columns that intersect it for each number.
If this solver comes up with an error or it can't be solved, first use the Solution Count button to prove it has only one solution. This uses a fast brute-force algorithm to check for all possible solutions. If it's valid, please use the "Email This Board" button to send it to andrew@str8ts.com. I'd be very interested to study examples that can't be solved on this page.

Solver created on 28-May-2005.