I think CASes apply a usual method of solving linear recurrence relations with constant coefficients (for example, see Wiki for info). In any case the result of the command of Maple
infolevel[all] := 4: rsolve(a(n+1) = k*a(n)+b, a(n));
confirms that guess.
Addition. As step-by-step solution by W|A shows, the generating function is used to this end there.
Addition 2. See here and here and here.