\section{Bonus Problems}


\problem{}
Show that a group has exactly one identity element.
\vfill

\problem{}
Show that each element in a group has exactly one inverse.
\vfill

\problem{}
Let $(G, \ast)$ be a group and $a, b, c \in G$. Show that...
\begin{itemize}
	\item $a \ast b = a \ast c \implies b = c$
	\item $b \ast a = c \ast a \implies b = c$
\end{itemize}

This means that we can \say{cancel} operations in groups, much like we do in algebra.

\vfill
\pagebreak




\problem{}
Let $G$ be the set of all bijections $A \to A$. \par
Let $\circ$ be the usual composition operator. \par
Is $(G, \circ)$ a group?
\vfill

\definition{}
Note that our definition of a group does \textbf{not} state that $a \ast b = b \ast a$. \par
Many interesting groups do not have this property.
Those that do are called \textit{abelian} groups. \par

\vspace{2mm}

One example of a non-abelian group is the set of invertible 2x2 matrices under matrix multiplication.

\problem{}
Show that if $G$ has four elements, $(G, \ast)$ is abelian.

\vfill
\pagebreak

\problem{}
Prove \ref{mod_has_inverse}: \par
$a$ has an inverse mod $m$ iff $\gcd(a, m) = 1$ \par


\begin{solution}
	Assume $a^\star$ is the inverse of $a \pmod{m}$. \par
	Then $a^\star \times a \equiv 1 \pmod{m}$ \par

	Therefore, $aa^\star - 1 = km$, and $aa^\star - km = 1$ \par
	We know that $\gcd(a, m)$ divides $a$ and $m$, therefore $\gcd(a, m)$ must divide $1$. \par
	$\gcd(a, m) = 1$ \par

	Now, assume $\gcd(a, m) = 1$. \par
	By the Extended Euclidean Algorithm, we can find $(u, v)$ that satisfy $au+mv=1$ \par
	So, $au-1 = mv$. \par
	$m$ divides $au-1$, so $au \equiv 1 \pmod{m}$ \par
	$u$ is $a^\star$.
\end{solution}


\vfill


\problem{}<eua_runtime>
The Euclidean Algorithm (From \ref{euclid}) can be written as follows: \par

\begin{itemize}
	\item Assume $a > b$.
	\item Set $e_0 = a$ and $e_1 = b$. \par
	\item Let $e_{n+1} = \text{remainder}(r_{n-1} \div r_{n})$ \par
	\item Stop when $e_{k} = 0$.
	\item Then, $\gcd(a, b) = e_{k-1}$. \par
\end{itemize}


Let $F_n$ be the $n^{\text{th}}$ Fibonacci number. ($F_0 = 0$; $F_1 = 1$; $F_2 = 1$; $\dots$) \par

\vspace{2mm}

Show that if the Euclidean algorithm requires $n$ steps for an input $(a, b)$, then $a \geq F_{n+2}$ and $b \geq F_{n+1}$.
In other words, show that the longest-running input of a given size is a Fibonacci pair.

\begin{solution}
	The easiest way to go about this is induction on $n$: \par

	\textcolor{gray}{\textit{Base Case:}}

	If $n = 1$, $b$ divides $a$ with no remainder, and the smallest possible $a, b$ for which this is true is $(2, 1) = (F_3, F_2)$.

	\linehack{}

	\textcolor{gray}{\textit{Induction:}}

	Assume that for $n$ steps, $a \geq F_{n+2}$ and $b \geq F_{n+1}$.

	Now, say the algorithm takes $n+1 = m$ steps. \par

	The first step gives us $a = q_0b + r_0$ \par
	Therefore, the pair $(b, r_0)$ must take $m-1$ steps. \par
	We thus know that $b \geq F_{m+1}$ and $r_0 \geq F_m$ \hfill \textcolor{gray}{by our induction hypothesis} \par
	Therefore, $a = q_0b + r_0 \geq b + r_0$ \par
	But $b + r_0 = F_{m+1} + F_{m} = F_{m+2}$, \par
	so $a \geq F_{m+2}$.
\end{solution}

\vfill
\pagebreak

\problem{Chinese Remainder Theorem}
There are certain things whose number is unknown. If we count them by threes, we have two left over; by fives, we have three left over; and by sevens, two are left over. How many things are there?

\begin{solution}
	$x \equiv 2 \pmod{3}$ \par
	$x \equiv 3 \pmod{5}$ \par
	$x \equiv 2 \pmod{7}$ \par

	$x = 23 + 105k\ \forall k \in \mathbb{Z}$
\end{solution}

\vfill

\problem{}<flt_prereq>
Show that if $p$ is prime, $\binom{p}{i} \equiv 0 \pmod{p}$
for $0 < i < p$.

\begin{solution}
	$\binom{p}{i} = \frac{p!}{i!(p-i)!}$ tells us that $i!(p-i)!$ divides $p! = p(p-1)!$. \\
	However, $i!(p-i)!$ and $p$ are coprime, since all factors of $i!(p-i)!$ are smaller than $p$. \\
	Therefore, $i!(p-i)!$ must divide $(p-1)!$ \par

	So, $\binom{p}{i} = p \times \frac{(p-1)!}{i!(p-i)!}$, and $\binom{p}{i} \equiv 0 \pmod{p}$.
\end{solution}

\vfill
\pagebreak

\problem{Fermat's Little Theorem}
Show that if $p$ is prime and $a \not\equiv 0 \pmod{p}$, then $a^{p-1} \equiv 1 \pmod{p}$. \\
You may want to use \ref{flt_prereq}. \par
\hint{It may be easier to show that $a^p \equiv a \pmod{p}$}


\begin{solution}
	Use induction:

	$1 \equiv 1 \pmod{p}$ \par

	Using \ref{flt_prereq} and the binomial theorem, we have

	$2^p = (1 + 1)^p = 1 + \binom{p}{1} + \binom{p}{2} + \dots + \binom{p}{p-1} + 1 \equiv 1 + 0 + ... + 0 + 1 \equiv 2 \pmod{p}$ \par

	Then,

	$3^p = (1 + 2)^p = 1 + \binom{p}{1}2 + \binom{p}{2}2^2 + \dots + \binom{p}{p-1}2^{p-1} + 2^p \equiv 1 + 0 + ... + 0 + 2 \equiv 3 \pmod{p}$ \par

	We can repeat this for all $a$. This proof can be presented more formally with a bit of induction.

\end{solution}

\vfill


\problem{}
Show that for any three integers $a, b, c$, \par
$\gcd(ac + b, a) = \gcd(a, b)$ \par

%\begin{solution}
%	This problem is hard, \\
%	I'll write a solution eventually.
%\end{solution}

\vfill

[Note on \ref{eua_runtime}] This proof can be used to show that the Euclidean
algorithm finishes in logarithmic time, and it is the first practical application
of the Fibonacci numbers. If you have finished all challenge problems,
finish the proof: find how many steps the Euclidean algorithm needs to arrive at
a solution for a given $a$ and $b$.
\pagebreak