Is there a program code or game or applet that will allow me to predict.. basically, the initial and standard state of the table. Say, I give it initial positions. Given the angle and magnitude of the cue ball, it should tell me what the final positions of each balls are. Which brings me to the main question, How can I predict a way the cue ball has to be shot (from the beginning of the game) to make all the 10 balls in the first shot? I don't believe that it's impossible. It can't be. I just can't find a program that does that. May be a Matlab code? A java applet would be best.