I decided to create a small application to solve a user inputted sudoku puzzle. This class guesses numbers for cells (starting with 1) and then backtracks when a possible number cannot be found. Unfortunately, the program does not work. It seems to fail when it cannot find a correct number. Any help with this program would be greatly appreciated. Also, any tips in general would be really useful. Thanks!
I would recommend you read Programming Sudoku by Wei-Meng Lee, if you really want to implement and understand a good solution and perhaps get an idea on how to improve it. The code is written in .NET though, but it will surely provide a good foundation on algorithms you can use to solve it.
Otherwise, if you want to use an existing solution, there are plenty of those around.
The quieter you are, the more you are able to hear.
Some time ago I started working on a Sudoko solver which, rather than just solving the puzzle for you, allows you to see how it solves each cell. A beta applet version can be found at http://www.keang.co.uk/sudoku.html.
It has some fairly complex solvers built in but I got bored and so never got around to adding any more solvers or getting the whole thing beyond beta stage. If you want the code let me know and I can upload it to my website.