$\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}
$$