The following builds on John Kormylo's comment about manually setting the ToC

\documentclass{book}
\usepackage{hyperref}
\newlength{\textpagewidth}
\newcommand{\settextpagewidth}{\setlength{\textpagewidth}}
\newlength{\solspagegap}
\newcommand{\setsolspagegap}{\setlength{\solspagegap}}
\newlength{\solspagewidth}
\newcommand{\setsolspagewidth}{\setlength{\solspagewidth}}
\newlength{\chaptocgap}
\newcommand{\setchaptocgap}{\setlength{\chaptocgap}}
\settextpagewidth{2em}
\setsolspagegap{4em}
\setsolspagewidth{2em}
\setchaptocgap{3pt plus 1pt minus 1pt}
\newlength{\saveparindent}
\AtBeginDocument{\setlength{\saveparindent}{\parindent}}
\newcommand{\noparindent}{\setlength{\parindent}{0pt}}
\newcommand{\restoreparindent}{\setlength{\parindent}{\saveparindent}}
\newcommand{\setchapandsol}[2]{%
\par\addvspace{\chaptocgap}\noindent
\ref{#1}\quad\nameref{#1}\dotfill
\makebox[\textpagewidth][r]{\pageref{#1}\,}%
\makebox[\solspagegap][r]{\dotfill}%
\makebox[\solspagewidth][r]{\pageref{#2}\,}%
}
\begin{document}
\showthe\chaptocgap
\noparindent
\leavevmode\hfill\makebox[\textpagewidth][r]{Texts}%
\makebox[\solspagegap][r]{}%
\makebox[\solspagewidth][r]{Solutions}
\medskip
\setchapandsol{ch:first}{ch:first:sol}
\setchapandsol{ch:second}{ch:second:sol}
\restoreparindent
\chapter{First chapter}\label{ch:first}
\chapter{Second chapter}\label{ch:second}
% ========= SOLUTIONS =========
\chapter*{First chapter solutions}\label{ch:first:sol}
\chapter*{Second chapter solutions}\label{ch:second:sol}
\end{document}
I've added some customisation, but there's plenty you can add yourself.