I'm working on the front end for a sudoku program I wrote for fun. I'm debating which interface is most logical: an interface entirely click-based, or a standard keyboard entry method.

**Click Based:**
The pro to this method is that you don't have to switch between the mouse and the keyboard (granted most people do have two hands...). You could click on the desired square, and click a value from a list that would appear. This would also make it easy to port this over to mobile devices.

**Keyboard Based:**
With this method, the user could click the desired square, or use the tab key to navigate between squares. I've found that this makes entering values initially (e.g. when filling the board with starting values) easier, however makes it more tedious after that as I find myself moving my eyes from the monitor to the keyboard.

What are your opinions on this problem? Is one way better than the other?