$\newcommand{\+}{^{\dagger}} \newcommand{\angles}[1]{\left\langle\, #1 \,\right\rangle} \newcommand{\braces}[1]{\left\lbrace\, #1 \,\right\rbrace} \newcommand{\bracks}[1]{\left\lbrack\, #1 \,\right\rbrack} \newcommand{\ceil}[1]{\,\left\lceil\, #1 \,\right\rceil\,} \newcommand{\dd}{{\rm d}} \newcommand{\down}{\downarrow} \newcommand{\ds}[1]{\displaystyle{#1}} \newcommand{\expo}[1]{\,{\rm e}^{#1}\,} \newcommand{\fermi}{\,{\rm f}} \newcommand{\floor}[1]{\,\left\lfloor #1 \right\rfloor\,} \newcommand{\half}{{1 \over 2}} \newcommand{\ic}{{\rm i}} \newcommand{\iff}{\Longleftrightarrow} \newcommand{\imp}{\Longrightarrow} \newcommand{\isdiv}{\,\left.\right\vert\,} \newcommand{\ket}[1]{\left\vert #1\right\rangle} \newcommand{\ol}[1]{\overline{#1}} \newcommand{\pars}[1]{\left(\, #1 \,\right)} \newcommand{\partiald}[3][]{\frac{\partial^{#1} #2}{\partial #3^{#1}}} \newcommand{\pp}{{\cal P}} \newcommand{\root}[2][]{\,\sqrt[#1]{\vphantom{\large A}\,#2\,}\,} \newcommand{\sech}{\,{\rm sech}} \newcommand{\sgn}{\,{\rm sgn}} \newcommand{\totald}[3][]{\frac{{\rm d}^{#1} #2}{{\rm d} #3^{#1}}} \newcommand{\ul}[1]{\underline{#1}} \newcommand{\verts}[1]{\left\vert\, #1 \,\right\vert} \newcommand{\wt}[1]{\widetilde{#1}}$ You can always insert a parameter $\ds{\epsilon}$ to 'remove' the equality of the roots. At the end, take a proper limit to restore the original recurrence. In order to illustrate the method I'll solve the simple example $ a_{n + 1} - 2a_{n} + a_{n - 1} = 0\qquad\mbox{with}\qquad a_{0} = 0\,,\quad a_{1} = 1 $ The solution is, of course, $\color{#66f}{\LARGE \ds{a_{n} = n}}$ and the 'characteristic equation' has the double root equal to one.
Instead, I'll solve $\ds{a_{n + 1} - 2a_{n} + \epsilon a_{n - 1} = 0}$. The 'characteristic equation' has roots $\ds{r_{\pm} = 1 \pm \underbrace{\root{1 - \epsilon^{2}}}_{\ds{\equiv \delta}}}$ \begin{align} a_{n}&= Ar_{-}^{n} + Br_{+}^{n}\quad\imp\quad A + B = 0\,,\quad Ar_{-} + Br_{+} = 1 \quad\imp\quad \left\lbrace\begin{array}{rcl} A & = & {1 \over r_{-} - r_{+}} \\ B & = & -A \end{array}\right. \\[3mm] a_{n} &={r_{-}^{n} - r_{+}^{n} \over r_{-} - r_{+}} \end{align}
The limit $\ds{\epsilon \to 1}$ yields: $ \lim_{\epsilon \to 1}{r_{-}^{n} - r_{+}^{n} \over r_{-} - r_{+}} =\lim_{\delta \to 0}{\pars{1 - \delta}^{n} - \pars{1 + \delta}^{n} \over -2\delta} =\lim_{\delta \to 0} {n\pars{1 - \delta}^{n - 1}\pars{-1} - n\pars{1 + \delta}^{n - 1} \over -2} =\color{#66f}{\LARGE n} $