Yeah, that one is pretty trivial in any language that has an unlimited integer type. If you want more of a challenge, try doing it without BigInteger - or just move on to the next one
.
Have a look at problem 97. That's another one that is trivial in theory with BigInteger, but you may find it will take ages that way - to get it down to a reasonable time you need to implement your own method to take advantage of the fact that it only wants the last 10 digits.