Hint $\rm\ (f_{n+1},f_{n+2}) = (f_n,f_{n+1}) A\:$ for an invertible matrix $\rm\:A,\:$ so $\rm\:(f_{n+k},f_{n+k+1}) = (f_n,f_{n+1}) A^k,\:$ and, by the pigeonhole/box principle, $\rm\:A^k\:$ has finite order mod $\rm\:n,\:$ yielding the sought cyclicity.
Alternatively $\rm\:A\:$ is an invertible map on a finite set $\rm\,\Bbb Z_n^2,\:$ i.e. a permutation, thus it has finite order. See this answer for further discussion of this viewpoint, where it is used to tackle the following problem: a sequence $\rm\:f(n)\:$ satisfies the relation $\rm\:f(n+2) = f(n+1)^2 - f(n),\,$ $\rm\,f(1) = 39,\ f(2) = 45.\:$ Prove that $1986$ divides infinitely
many terms of the sequence.