Difference equations are frequently covered in courses on algorithms due to the relationship to recursion. Believe it or not, I first learned the basics of difference equations from George Boole's book (of Boolean algebra fame). This is freely available either as a download or to read online.
The methods that are the most useful for solving linear difference equations are use of the characteristic equation or applying the Z-transform. These are the discrete analogues of the characteristic equation and Laplace transform in differential equations.