You should also make a chart of the run times under various conditions. In particular, use the Calendar class (as done in lecture) to measure the run time of your program for a[30], a[40], a[50], a[60], a[70], a[80], a[90] when your method is couched in terms of long, and java's BigInteger class (long will only handle the answer up to a[93]). You might also like to see how far you can go using BigInteger, once you've cleaned up the recursive method, before your computer really starts complaining.