Да, добро пожаловать в мир BigIntegers.
Одна вещь, которую я помню, это то, что вы можете сделать два пути для этого:
1) Медленный путь с BigIntegers
2) Быстрый путь с двойными примитивными типами, когда оба аргумента меньше, чем Max Double.
Это должно немного увеличить скорость.
Расскажите нам, как все прошло, и опубликуйте время, если можете. Это действительно интересно.