You have few options.
First one is to add the equation in a row of its own:
\documentclass[12pt]{report}
\usepackage{amsmath, amssymb, amsthm}
\usepackage{lipsum}
\usepackage{tikz}
\usetikzlibrary{shadows}
\newcommand*\squared[1]{\tikz[baseline=(char.base)]{\node[shape=rectangle, draw, inner color = white, drop shadow = {opaque, black}, inner sep=3pt, text justified] (char) {#1};}}
\newtheoremstyle{exercise}
{\topsep}
{\topsep}
{\hangindent=2em}
{}
{}
{}
{.8em}
{\squared{\thmnumber{#2}}}
\theoremstyle{exercise}
\newtheorem{exercise}{}
\renewcommand{\arraystretch}{1.75}
\usepackage{tabularx}
\begin{document}
\begin{exercise}
\begin{tabularx}{\textwidth}[t]{r @{\hskip .4em} X}
a) & This is a test. \\
b) & I say \\
&
\hfil $\pi \approx 3.14$.
\\
c) & Do you agree?
\end{tabularx}
\end{exercise}
\end{document}
However, I feel that a list enumerate would be the better way to go after some modifications to the exercise environment.
Here is some more additions. These are not perfect as the \arraystretch
is modified and the widths of \parbox
and \minipage
are not accurately calculated. Nevertheless, it may serve as a starting point.
\documentclass[12pt]{report}
\usepackage{amsmath, amssymb, amsthm}
\usepackage{lipsum}
\usepackage{tikz}
\usetikzlibrary{shadows}
\newcommand*\squared[1]{\tikz[baseline=(char.base)]{\node[shape=rectangle, draw, inner color = white, drop shadow = {opaque, black}, inner sep=3pt, text justified] (char) {#1};}}
\newtheoremstyle{exercise}
{\topsep}
{\topsep}
{\hangindent=2em}
{}
{}
{}
{.8em}
{\squared{\thmnumber{#2}}}
\theoremstyle{exercise}
\newtheorem{exercise}{}
\renewcommand{\arraystretch}{1.75}
\usepackage{tabularx,enumitem,showframe}
\begin{document}
\begin{exercise}
\begin{tabularx}{\dimexpr\textwidth-2.8em\relax}[t]{@{\,}r @{\hskip .4em} X}
a) & This is a test. \\
b) & I say \parbox[t]{0.88\linewidth}{%
\[
π\approx 3.14.
\]
}\\
c) & Do you agree?
\end{tabularx}
\end{exercise}
\begin{exercise}
\begin{minipage}[t]{0.928\linewidth}
\begin{enumerate}[label = \alph*),leftmargin=*,topsep=0pt,partopsep=0pt]
\item This is a test.
\item I say
\[
π\approx 3.14.
\]
\item Do you agree?
\end{enumerate}
\end{minipage}%
\end{exercise}
\end{document}
$$ $$
. Use\[ \]
instead.$$ $$
and it has never done anything bad up to this date.\[ \pi \approx 3.14 \] \\[-1.75\belowdisplayskip]
\arraystretch
so I used1.75
.