Solving recurrence equation using RSolve

I'm trying to solve the following difference equation: $$[k(k-1)+s]\,X_k+k\,X_{k-1}=s\,a^k,\;\;k=1,2,\ldots$$ assuming that $X_0=1$, and $a,s>0$. The obvious

\$Assumptions = a > 0 && s > 0;
RSolve[{(k*(k - 1) + s)*x[k] + k*x[k - 1] == s*a^k, x[0] == 1}, x[k], k]


doesn't quite work: it spits out an expression that involves DifferenceRoot. Any way to get rid of it?

Incidentally, RecurrenceTable[{(k*(k - 1) + s)*x[k] + k*x[k - 1] == s*a^k, x[0] == 1}, x, {k,0,5}] works just fine, but it's still difficult to figure out the pattern.

• But what do you mean it doesn't quite work? DifferenceRoot is an exact object in terms of which the solutions to that equation can be solved. Just like with the exact object Root which represents the roots of polynomials, it's possible that the solution cannot be expressed in a closed form in terms of more elementary functions. Do you have reason to suspect that it should be? – march Mar 6 '17 at 19:31
• @march : yes, the solution is likely to involve special functions, and I was hoping that RSolve would reveal exactly what kind of special functions. – Alex Mar 6 '17 at 19:56