To solve one of the puzzles I need to find the multiplication of a number which yields <2 .I used below code which takes 8hrs adn does go upto 10000, can anybody suggest a better efficient method for multiplication?

I'm not sure what the algorithm is supposed to do, but you're much better off handling large integers by using the java.math.BigInteger class than by using strings.