can anybody help me adding some colour to this code, for example the digits, cancel, borrow and answer all being different colours.
\documentclass{article}
\usepackage{stringstrings,stackengine}
\newcommand\showdiff[2]{%
\let\savediff\relax%
\def\borrow{}%
\xdef\borrowed{0}%
\ifnum#1>32\relax\showdiffengine{#1}{#2}\else
{\ttfamily\Longstack[r]{#1\,{} \underline{-#2\,} {< 0\,}}}\fi
}
\newcommand\showdiffengine[2]{%
\xdef\opA{#1}%
\xdef\opB{#2}%
\lastdigits{\opA}{\opB}%
\ifnum\borrowed=1\relax\xdef\XdigA{\the\numexpr\digA- 1}\else\xdef\XdigA{\digA}\fi%
\ifnum\XdigA<0\relax\xdef\XdigA{9}\xdef\futureborrowed{1}\else
\xdef\futureborrowed{0}\fi
\edef\coldiff{\the\numexpr\XdigA-\digB\relax}%
\ifnum\coldiff<0\relax%
\xdef\borrow{1}%
\edef\coldiff{\the\numexpr\borrow\XdigA-\digB\relax}%
\else
\xdef\borrow{}%
\fi
\ifnum\borrowed=0\relax%
\savestack{\thediff}{\ttfamily\Longstack[l]{%
\tiny\bllap[1.5\baselineskip]{\borrow} \XdigA{} \underline{\VdigB\kern3pt} %
\coldiff}}%
\else
\savestack{\thediff}{\ttfamily\Longstack[l]{%
\tiny\brlap[.7\baselineskip]{\borrow\the\numexpr\XdigA} \crossout{\digA} %
\underline{\VdigB\kern3pt} \coldiff}}%
\fi
\if\relax\borrow\relax\xdef\borrowed{0}\else\xdef\borrowed{1}\fi
\savestack{\savediff}{\thediff\savediff}%
\ifnum\futureborrowed>0\relax\xdef\borrowed{1}\xdef\fugureborrowed{0}\fi
\nextcolumn{\opA}{\opB}%
\ifnum\numexpr0\opA+0\opB>0\relax\showdiffengine{\opA}{\opB}%
\else
\Longstack{\underline{\ttfamily-\,} {}}\savediff\fi%
}
\newcommand\crossout[1]{\stackengine{0pt}{#1}{/}{O}{c}{F}{F}{L}}
\newcommand\lastdigits[2]{%
\substring[q]{#1}{$}{$}%
\xdef\digA{\thestring}%
\xdef\VdigA{\digA}\if0\digA\ifnum#1=0\relax\xdef\VdigA{~}\fi\fi%
\substring[q]{#2}{$}{$}%
\xdef\digB{\thestring}%
\xdef\VdigB{\digB}\if0\digB\ifnum#2=0\relax\xdef\VdigB{~}\fi\fi%
}
\newcommand\nextcolumn[2]{%
\substring[q]{#1}{1}{$-1}%
\xdef\opA{0\thestring}%
\substring[q]{#2}{1}{$-1}%
\xdef\opB{0\thestring}%
}
\begin{document}
\showdiff{135}{49}\qquad
\end{document}

