Sudoku Solver - Version History
Thanks to feedback I've now added a sanity check when you enter numbers. If there is a conflict - ie the same number in a row, column or box - it will hightlight those squares in red. You'll notice this especially if your choices are wrong and you continue to 'take steps'.
Also in this version is an email button. You can send a link to a friend containing the current board. Note: This is the board *as it looks now* - so you can send completed boards or new boards, whatever is currently shown.
New in version 1.06
We now have a back button. Look for the [<<] button next to Take Step. Goes back one step.
New in version 1.07
Added Remote Pairs test.
New in version 1.08
Some extra checks including pointing pairs and pointing triples. Thanks to Phil Jackson for help with these.
New in version 1.09
A new test/strategy called Box/Line Reduction. Thanks to Andrew Pepperdine for this one.
New in version 1.10
Jethro Foreman, from Walton on Thames, has helped me enhance my first pairs test. This eliminates superfluous possibles from squares where pairs are hidden. Before I was only removing possibles from other squares in a box where open pairs were found. Confused? There'll be a explanation page soon.
Just nice to know that after two weeks we're still finding better strategies.
New in version 1.11 (June 28th)
The remote pairs test has been taken a step further and is more generalised. A number of peripheral features have been added and enhanced including the Printable Version.
New in version 1.13 (July 28th)
Don't know what happened to 1.12, but 1.13 now includes a version of the X-Wing strategy and the Sword Fish strategy. I'm calling them the basic version because I'm looking at rows and columns only. Box versions to come, but these are a powerful tests. I've also changed the looping strategy to cope with having all these tests. There can be nasty conflicts if they are run in sucession without chearing up the board first.
New in version 1.14 (August 12th)
I have broken up the trivial tests to seperate showing possibles from checking for single candidates. This makes it clearer which rule has been used and will help people understand the steps being taken.
New in version 1.15 (August 23rd)
Thank-you to Joris S.de Wit of the Netherlands for finding an example which one of the pairs tests didn't catch. To do with those awkward boxes. Well done Joris! Also, Flemming Birkbak of Denmark writes in with a hidden pair I'd not seen before. Big thanks to him also.
August 26rd - I have replaced the example list of Sudoku's with a set of my own from my own generator. There are some normal ones - graded - and some freaks. The two Extreme ones are the worst (highest scoring) of a batch of 33,000. See how you like them. Try them without using the solver first! I dare you.
New in version 1.16 (September 4th)
The swordfish algorithm is now much better, thanks to prompting by Ron Cowpe of Canada who provided a good example. It needed a good re-write as well since it was too slow. I've not found an example SwordFish that it can't detect. Hopefully!
New in version 1.17 (September 20th)
I've split out the triples test from the main pairs tests so its easier to spot. Triples occur in the same row, column or box where you have, for example, 1/5 1/5/8 and 1/8 in three cells. 1,5 and 8 can be removed from any of the remaining 5 cells.
New in version 1.18 (November 7th)
Hidden Triples added. Nasty little beast. Big thanks to Matt Rivers from Northridge, California for sending in a board with a perfect example. Now added to the documentation. Since this goes hand in hand with Hidden Pairs (but is much more complicatied as it requires three numbers not just in threes but say 3/2/2 or 3/3/2). I've put the hidden pairs/triples test on its own. That means combining the naked pairs/triples tests which go together logically.
New in version 1.19 (December 20th)
Y-Wings have been added to the strategy list. Documentation added here.
New in version 1.20 (December 23th)
Thanks to Tim van Kampen for a very fiendish Sudoku,
I've extended Hidden Pairs/Triples to Hidden Quads. Same principle, just four numbers spaced in four cells across a row, column or box.
New in version 1.21 (January 11th)
Added the Import Sudoku button.
New in version 1.22 (February 24th)
Major update. Apart from adding the excellent strategy Aligned Pair Exclusion I've added a report box which gives you all the moves when a strategy executes. Lots of requests for this. Some minor bug fixes as well.
New in version 1.23 (April 22nd)
Prompted by Mike Blake and some of his javacode I've added Type 1 Unique Rectangles. Note: this strategy assumes the Sudoku has a single unique solution. If the answer goes awry then it may not be.
New in version 1.24 (May 1st)
Naked Quads added by demand.
New in version 1.25 (May 3rd)
You can now edit the numbers in the large Sudoku board and enter more than one number to make changes to the 'notes' or candidates. This will reset the solving stage back to the start (so knock on effects are taken into account).
New in version 1.26 (May 23rd)
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 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 if it has a unique solution.
New in version 1.27 (May 28th)
Had some queries about the Extended APE not working. Actually it wasn't included in the solver but that's now changed. All the EAPE examples with work. Because I moved the Y-Wing before APE the normal APE the Y-Wing gets the result first. I'll upload an APE that can't be done with Y-Wing soon.
New in version 1.28 (May 29th)
Designed a much faster Sword-Fish detection allgorith. Also fixed a bug introduced in 1.27 when APE was extended.
New in version 1.30 (July 7th 2006)
New in version 1.31 (July 13th 2006)
Minor update. Certain formations were not being detected for Type 4/4B Unique Rectangles.
Added Hidden Unique Rectangles. Split out AICs with and without grouped nodes.
New in version 1.32 (July 22th 2006)
Two new Extreme strategies added: Sue-de-Coq and Two Disjoint Almost Locked Sets.
New in version 1.33 (Ausgut 24th 2006)
Fixed the back button bug, added strategy toggle checkboxes.
New in version 1.34 (August 29th 2006)
Changed AIC strategies to return the shorest chain result.
New in version 1.35 (September 9th 2006)
Save button now saves permanently (using a cookie) even if you browse away or close your browser.
New in version 1.36 (September 16th 2006)
Added Multivalue X-Wing strategy and extended the scope of Almost Locked Sets.
New in version 1.37 (September 30th 2006)
Added Death Blossom by Mike Barker.
New in version 1.38 (November 21st 2006)
New Jigsaw Solver released!
New in version 1.39 (December 2nd 2006)
Much faster Advanced Strategies - the solver now continues to search for the first strategy that returns a result (applies to X-Wings and beyond). This will save you a lot of time clicking and ease the server load as well.
New in version 1.40 (March 21st 2007)
New variation of the Hidden Unique Rectangle has been added. Thanks to Mage in France for giving me an
New in version 1.50 (May 25th 2008)
I have added a grading button to this solver. Many people have asked for a grade check to see if their puzzles are accurately graded. Note that different publishers will have very different methods of grading, some good, some poor. For more information on my grading I have a paper on this topic.
Detection of X-Cycles has been improved, thanks to Thomas Kimble for the examples. Other minor accumulated improvements as well.
New in version 1.51 (Feb 1st 2009)
Split out Hidden Unique Rectangles from Unique Rectangles to make it more visible and to provide a link to the strategy from the solver page.
New in version 1.52 (March 1st 2009)
Save and Reload cookie now remembers candidates.
New in version 1.53 (Apr 14th 2009)
Code consolidation and minor bug fixes.
New in version 1.60 (June 13th 2009)
Killer Sudoku Solver released; new method implemented for client-server comms.
New in version 1.62 (Jan 25th 2010)
Chaining strategies that report chains now display those chains as a new graphical element on the big board.
New in version 1.63 (March 3rd 2010)
3D Medusa and much improved forcing chains. A new system of symbolising chains.
New in version 1.64/5 (March 13th 2010)
Fixed a series of bugs with editing candidates in the large board. Added Digit Forcing Chains
New in version 1.64/5 (March 13th 2010)
Fixed a bug to do with unchecking strategies
New in version 1.67 (January 20th 2011)
new navigation (arrows etc) in the small data entry board.
New in version 1.68 (January 26th 2011)
Fixed a bug searching for Hidden Quads in columns (thanks Mats Anderbok!)
New in version 1.69 (Mar 13th 2011)
In response to a query about how a Sudoku puzzle solved differently when rotated, I have added a couple of rotate buttons on the Sudoku and Sudoku X solvers. Infact the original Sudoku was broken and nothing could be said about it, but in general, rotating a puzzle can lead to new insights, especially when solving by pen and paper. My solver will in almost all cases, solve the puzzle in the same way whatever rotation or symetrical transformation is applied. There are exceptions due to the way patterns are searched for - often the search begins in the top left corner and ends in the bottom right - and the first instance of a pattern is returned. I imagine that for some advanced strategies, a rotation may return a different elimination - it depends how many opportunities there are.
New in version 1.70 (March 23rd 2011)
I have added a new strategy, Cage/Unit Overlap, to the Killer Solver - thanks to an example from Marcel Cox.
New in version 1.72 (May 19th 2011)
Added the new solver for Colour Sudoku. This adds to the back end solver machine so it effects every solver - hopefully not negatively. I have also synched the version numbers to 1.72 on all solvers.
New in version 1.73 (June 2nd 2011)
Expanded the number of ways Forcing Chains can get results. Thanks to Steve Kurzhals for inspiring these with some of his analysis of the recent Unsolvables. The documentation is being updated to reflect the additions. I have added a diagram and examples to Digit Forcing Chains and will need to do so for Cell Forcing Chains and Unit Forcing Chains.
New in version 1.74 (June 21st 2011)
I sped up the "Take Step" process by skipping failed strategies and going straight to the first successful one. This applies to the basic strategies which are client-side. If you get "script taking too long" messages from your browser, let me know. It's a bit risky for slower machines and I'd like to find out if this works for everyone.
New in versions 1.75, 1.76, 1.77
Bug fixes and changes to AIC searching, thanks to Andreas von Delius
New in version 1.78 (Oct 3rd 2011)
I have looked again at the basic strategies, something I haven't done for a while. For Pairs, Triples, Quads, Pointing Pairs and Box/Line Reductions - these all now show in green the candidates that contributed to the pattern. This should make searching for them from the textual description redundant and more 'at a glance'. Previously only the eliminated candidates were being show (ones in yellow).
New in version 1.79 (Oct 23rd 2011)
Added a graphical display to show all chain links in Singles Chains (Simple Colouring). This version update also contained new strategy algorithms for 6x6 KenKen.
New in version 1.80 (Dec 3rd 2011)
I have redesigned the way Hidden Singles are handled and merged checking boxes with checking rows and columns. At the same time I've stopped it removing candidates before the scan is complete - which before had a knock-on effect of creating additional Hidden Singles. Either way is harmless but I wanted to remove knock-on effects.
New in version 1.81 (Apr 20rd 2012)
Restored Unique Rectangles to the Sudoku X solver. Added a special kind of Sudoku X Pointng Pair previously found by Simple Colouring. There have been a number of miner fixes to the solver in February and March not worthy of a version increment.
New in version 1.82 (May 10th 2012)
I have redesigned the way cookies are stored and puzzles loaded. You still have a manual save and reload but the solver now automatically saves the board every time it changes. Should you loose the page it will restore the puzzle you were working on. Cookies also retain the difference between clues and solved cells as well.
New in version 1.85 (June 8th 2012)
On the small board for number entry I have added an option that automatically clears off candidates as numbers are added. Also, changes to the small board are automatically saved. To make number entry clearer you can select if you are entering clues or solutions. See What's New for more detail.
New in version 1.86 (July 16th 2012)
I have added Nishio Forcing Chains replacing the old Nishio which never did anything anyway. This is a variety of Digit Forcing Chain where a contradiction is sought with two chains starting with a candidate turned ON. I have also rewritten part of the Grouped Cells to include many more instances. Also added another trap for garbage imput on the Killer solver which was crashing the solver.
New in version 1.87 (August 23rd 2012)
Added some Pointing Pair identification that was missing in previous versions.
Code upgraded so that candidates I highlighted green when the contribute to Pairs, Triples etc.
Automatic saving of the current board position on any change - so you can navigate away.
Still allows the normal Sabe/Reload.
Added Cage Comparison to the killer strategies.
New in version 1.88 (August 24th 2012)
Added the Extended Unique Rectangles strategy to the Sudoku solver.
New in version 1.89 (August 29th 2012)
New in version 1.90 (October 17th 2012)
Killer Sudoku update (internal). Re-wrote Killer Innies/Outies to include more cases and better detection.
New in version 1.91 (November 21th 2012)
Jigsaw Sudoku update (internal). Re-wrote Pointing Pairs for Jigsaws - obvious new case
New in version 1.92 (March 20th 2013)
Solvers update (website and internal). Created the button for hull HTML output from a grade request showing all the steps of the puzzle.
New in version 1.93 (May 21th 2013)
Sudoku solver update (internal). Re-wrote the Forcing Chains strategies to improve detection (new cases) and the language of the result. Added 3D Medusa Rule 7.
New in version 1.94 (May 21th 2013)
Fixed some bugs in the Killer solver and improved the text returned from Cage Combinations. Made sure the 'last remaining cell' in a cage was correctly being identified and now shows on the Hidden Singles stage.
New in version 1.95 (June 3rd 2013)
Added Double Pointing Pairs and Double Line/Box Reduction to the Jigsaw Solver. Improved the output of Jigsaw Pointing Pairs.
New in version 1.96 (July 20th 2013)
Greatly expanded WXYZ-Wings detection - makes is actually worth having in the list now! Separated and moved XYZ-Wings to tough strategies. Internally I could junk the Y-Wing algorithm and use the XYZ-Wing algorithm with a simple switch to search for bi-value hinges.