Come detto da @Kaamos è preferibile cambiare algoritmo, in ogni caso, se mai ti dovesse servire una libreria che gestisca numeri di grande dimensione GNU MP potrebbe fare al tuo caso...