O número em f (93) na série fibonacci tem valor negativo, como?
Estou tentando imprimir séries de fibonacci até números 'N'. Tudo funciona conforme a expectativa até f (92), mas quando estou tentando obter o valor de f (93), os valores são negativos: "-6246583658587674878". Como isso pode ser possível? Qual é o erro na lógica abaixo?
public long fibo(int x){
long[] arr = new long[x+1];
arr[0]=0;
arr[1]=1;
for (int i=2; i<=x; i++){
arr[i]=arr[i-2]+arr[i-1];
}
return arr[x];
}
f(91) = 4660046610375530309
f(92) = 7540113804746346429
f(93) = -6246583658587674878
Isso é devido ao tipo de dados? Que outro tipo de dados devo usar para imprimir séries de fibonacci em até N números? N pode ser qualquer número inteiro dentro do intervalo [0..10.000.000].