We count the bit strings of length n without adjacent ones.

Let cn0 be the number of such strings of length n and ending in 0. Likewise cn1 for those ending in 1. c10 = c11 = 1. By induction if we know cn0 and cn1 then c(n+1)0 = cn0 + cn1 for a 0 may be appended to either category of string. But c(n+1)1 = cn0 for a 1 may be appended only to strings ending in 0. We have thus by induction c(n+1)0 = cn0 + c(n-1)0 which is the defining equation from Fibonacci.

This technique can be carried out for any sort of local constraint. It will generally lead to an exponentially increasing count. For Fibonacci we can guess that Fi = eαi and get eα(i+1) = eαi + eα(i−1) or dividing by eαi we get eα = 1 + e−α or eα = 1 + 1/eα whence eα = (√5+1)/2. The Fibonacci terms indeed increase roughly exponentially.

See this for a generalization to 2D.