This is a classic problem solving activity that I first saw many years ago in Mathematics: A Human Endeavor. The NCTM has a nice applet to test cases one at a time.
Since I like playing with Excel and trying to extend what it can do, I wrote a spreadsheet to represent the problem. The end result is much better than expected — this representation uses a slider to show many cases in a short period of time, and with it I noticed patterns that I never had before (e.g. if you start at (1,0) on a rectangle whose sides have GCD=2, you get a loop that goes through all squares).
The last page of the spreadsheet from the video is for exploration (you don’t have to watch the video or make the spreadsheet yourself to use it). However, making the spreadsheet forces you to think about how the coordinates are related to the problem, which can lead to insight.
I have not yet had a chance to try this spreadsheet with students. When I’ve used the problem in the past, I’ve found that many students need some structure to be able to organize their data enough to get anything out of the problem. I often define a primitive pool table as one whose sides have GCD 1, but that’s really more information that I’d like to give. I think that with the spreadsheet, they’ll be able to see so many more cases quickly, that some visual patterns will be more obvious.
One group of students looked at how the shape of the table affected the final path, and how having lines of symmetry or rotational symmetry about the center affected which corner the ball would eventually land in. This was a creative approach that I had not considered before (but that is reflected in the chapter I’m writing).
Lately, I have been thinking about this problem a lot; it’s the basis for a chapter in the book I’m working on. The pool table representation connects in interesting ways to Euclid’s algorithm for finding the greatest common divisor of two numbers. It also connects to African Sona designs.
I’ve also made a similar GeoGebra applet for this problem, which I need to clean up before putting up.