Program not currently available to run from this website.
Here is a program I originally wrote in VB.Net (2003) I have amended it for this website.
The code below is for anyone who is interested in this program. It is messy as I wasn't sure what the original solution was going to look like as this was my first VB.Net program and was a bit of a learning curve. I could use CASE statements, create smaller functions and add comments, but it works and I have other projects for this website. Hope it is easy to understand.
Basically, I have created an 81 string array containing either a one numeric character or a list of all possible answers, comma delimited. i.e. 7 or 1,2,3,4,5,6,7,8,9. By removing all impossible numbers you will end up with one value, i.e. ,,,,,,7,,. I check the lines horizontally, vertically and in the 3 x 3 block continuously (50 times) until puzzle solved, or no change in puzzle. If there is no change in the puzzle, then I need to secure it, and start guessing by selecting each of the possible numbers until it either works (yippee), fails (remove number) or undecided (go to next number).
Hope the above makes sense.