Beginner
1. Scanning
Checking each line to see where a number can fit.
2. Counting
- Count 1-9 in each 3x3 square to see where it can fit
- Counter 1-9 in each line to see where it can fit.
Intermediate
3. Potentialism
- Mark down where a number could potentially lie. However, only if it can potentially lie in 2 spots. 3 spots and up are useless.
4. Bounding
-Suppose we're looking at a 9x3 rectangle. That means three 3x3 squares on top of each other. You have a number revealed in one of the 3x3 squares, but you want to see where the next two go. If in one of the columns of the 3x3 squares contain a column of other numbers, then your number cannot go there. It must go in the remaining free column, and in the next 3x3 square, that one will contain a number in that spot.
Its like parking at a mall. You can't park in all the spaces because another car is already there. Therefore you must park in another spot.
Advanced
5. Potenial Bounding
- If two squares in a 3x3 squres have the same potential numbers, then only those two numbers will fit there. What this means is that no other number may go there, and it creates an imaginary bound.
6. Potential Bound Counting
- This is a combinatino of counting and potential bounding. Basically, if you have two squares with only two potential numbers in it, then you can actually count those numbers. However, it only works if the imaginary bounds are on the same line, or inside a 3x3 matrix.
7. Advanced Potentialism
- Using potentialism, you will end up with a 3x3 square with lots of overlapping potentials. If you get one of those numbers, it sets off a chain reaction. Since you only mark down potentials of 2, if one of those spots is taken up a number, then the other potential must be the number. This sets off a chain reaction that count finish the entire 3x3 square
Last Resort
8. What-If
- After you've exhausted all your options, select one square, and assign it one of the potential numbers. Then follow through and see if all other unknown numbers fit.
My ultimate goal is to be able to reduce this to an NP-complete problem, via cook's theorem. Upon doing this, I will be able to solve it instantly, instead of in polynomial time. It'd take the fun out of it though.
3 comments | Comment