Jose, I have just watched the tutorial, and it is very close to what I need to do, but obviously with some variation. So thank-you very much.
Klaus, I'm a bit of an oddball. It's not that I am keeping anything secret, it's just that I have a particular way of learning. If I post my code up, someone will possibly give me the answer as a done deal, and I won't truly understand what they have done. I will blindly repeat what they show me, but not really learn from it. The advice that yourself and Jose have given me in this post is invaluable, and I thank you for it. I now know about maps and what they do, but not yet any detail. That will come as I dig deeper into them. I also now understand from Jose's link, what that particular tutorial is about. From the tutorial I have learned about lists, which I didn't even know existed, and Erel has shown us examples of what can be done with them. I can see that it will not be a stretch for me to adapt what he showed us to what I want to do. I also now understand the power of the CSSUtils library and will be digging deeper in to that as I progress with my project.
You may have noticed that I haven't once mentioned about how a sudoku program would work, because I imagine that there are sudoku engines out there that I could just plug in. But that's not what I want. Just as I did when I taught myself to draw lines and connect them at a single point, rather than use the canvas DRAWLINE command (which I now use), I want to figure out from scratch how to make a sudoku engine. This will be a 12 month project for me, but at the end of it I will have learned a great deal that I don't currently know.
BTW, my current thinking with the sudoku engine is lots of random number generators, with lots and lots of checking in between, but that is down the track. For now I just want to get the mechanics of the screen working, so I can play with that and make myself feel happy.