Как вы уже подозреваете, это будет работать очень похоже.Используйте n-ю степень матрицы x * x
|1 0 0 0 .... 1 1|
|1
| 1
| 1
| 1
| 1
...................
...................
| ... 1 0|
Это легко понять, если умножить эту матрицу на вектор
f(n-1), f(n-2), ... , f(n-x+1), f(n-x)
, что приведет к
f(n), f(n-1), ... , f(n-x+1)
Матричное возведение в степень может быть выполнено за O (log (n)) время (когда x считается постоянным).
Для рекурсии Фибоначчи также есть решение с замкнутой формулой, см. Здесьhttp://en.wikipedia.org/wiki/Fibonacci_number, ищите формулу Бине или Моивра.