This week's book giveaways are in the Java EE and JavaScript forums. We're giving away four copies each of The Java EE 7 Tutorial Volume 1 or Volume 2(winners choice) and jQuery UI in Action and have the authors on-line! See this thread and this one for details.

Fix your code's logic--it's almost certainly not doing what you think it is. Printing out the iteration count and the two variables you're modifying might be a good place to start.

force == 2, distance == 18 => moment == 36
force2 == 2, distance2 == 9 => moment2 == 18

force == 3, distance == 18 => moment == 54
force2 == 3, distance == 9 => moment == 27

force == 4, distance == 18 => moment == 72
force2 == 4, distance == 9 => moment == 36

As you see, the way your code works now moment will always be twice as large as moment2.

So you want to find a moment and moment2 that are equal? Then you should increment either force or force2:
I know find that moment == 36 will break the loop.

If you don't want that break in there you can increase both force and force2 instead. You then get all multiples of 18 except for 0 and 18 itself (since moment will always be larger than 18).