Я на семинаре объяснял, в чем минусы BigInteger. Кроме того, это учебная работа, где ваша задача - выработать навыки аккуратной работы с примитивами.