[proofplan]
We prove both directions by translating incidence data into array data. From an [affine plane](/page/Affine%20Plane), two parallel classes become the row and column directions, so points become cells of an $n \times n$ array; each remaining parallel class records one [Latin square](/page/Latin%20Square) by asking which line of that class passes through each point. Conversely, from $n-1$ [mutually orthogonal Latin squares](/page/Mutually%20Orthogonal%20Latin%20Squares), we take the cells $S \times S$ as points and define row, column, and symbol lines; the Latin property controls intersections inside one square, while orthogonality controls intersections between different squares.
[/proofplan]
[step:Convert the points of an affine plane into cells of an $n \times n$ array]
Assume that $\mathcal{A} = (P,\mathcal{L})$ is an affine plane of order $n$, where $P$ is the set of points and $\mathcal{L}$ is the set of lines. We use the standard incidence properties from the definition of an [affine plane](/page/Affine%20Plane): $P$ has $n^2$ points; the lines split into $n+1$ parallel classes; each parallel class contains $n$ pairwise disjoint lines whose union is $P$; each line has $n$ points; and any two distinct points determine a unique line. Let
\begin{align*}
\mathcal{C}_0,\mathcal{C}_\infty,\mathcal{C}_1,\dots,\mathcal{C}_{n-1}
\end{align*}
be the $n+1$ parallel classes of $\mathcal{A}$. Choose a set $S$ with $|S| = n$. Label the lines in $\mathcal{C}_0$ by symbols $R_r$ for $r \in S$, and label the lines in $\mathcal{C}_\infty$ by symbols $K_c$ for $c \in S$.
We recall why lines in distinct parallel classes meet in exactly one point. They cannot be disjoint, since disjoint lines are parallel and therefore lie in the same parallel class; and two distinct lines in an affine plane have at most one common point, because two distinct points determine a unique line. Hence, for every ordered pair $(r,c) \in S \times S$, there is a unique point
\begin{align*}
p_{r,c} \in R_r \cap K_c.
\end{align*}
Define the map $\Phi: S \times S \to P$ by $\Phi(r,c)=p_{r,c}$. This map is bijective. Indeed, it is injective because two distinct row labels give disjoint row lines and two distinct column labels give disjoint column lines. It is surjective because each point lies on exactly one line of the parallel class $\mathcal{C}_0$ and exactly one line of the parallel class $\mathcal{C}_\infty$.
[guided]
We first choose two directions in the affine plane and use them as coordinates. The parallel class $\mathcal{C}_0$ will be the row direction, and the parallel class $\mathcal{C}_\infty$ will be the column direction. Since each parallel class contains exactly $n$ pairwise disjoint lines, a set $S$ with $|S|=n$ can be used to label the row lines and the column lines. Thus
\begin{align*}
\mathcal{C}_0 = \{R_r : r \in S\}.
\end{align*}
Similarly,
\begin{align*}
\mathcal{C}_\infty = \{K_c : c \in S\}.
\end{align*}
For each pair $(r,c) \in S \times S$, the row line $R_r$ and the column line $K_c$ belong to different parallel classes, so they are not parallel. Since disjoint lines are parallel and two distinct points determine a unique line, two non-parallel lines meet in exactly one point. Hence there is a unique point
\begin{align*}
p_{r,c} \in R_r \cap K_c.
\end{align*}
This defines the coordinate map $\Phi: S \times S \to P$ by $\Phi(r,c)=p_{r,c}$.
We verify that $\Phi$ is injective. Suppose $\Phi(r,c)=\Phi(r',c')$. Then the common point lies on both $R_r$ and $R_{r'}$. Distinct lines in the same parallel class are disjoint, so $R_r=R_{r'}$, hence $r=r'$. The same argument applied to the column class gives $K_c=K_{c'}$, hence $c=c'$. Therefore $(r,c)=(r',c')$.
We verify that $\Phi$ is surjective. Let $p \in P$ be any point. Since the row class $\mathcal{C}_0$ partitions $P$, there is a unique $r \in S$ such that $p \in R_r$. Since the column class $\mathcal{C}_\infty$ partitions $P$, there is a unique $c \in S$ such that $p \in K_c$. The intersection $R_r \cap K_c$ contains both $p$ and $p_{r,c}$, and this intersection has exactly one point, so $p=p_{r,c}=\Phi(r,c)$. Thus the points of the affine plane are exactly the cells of an $n \times n$ array.
[/guided]
[/step]
[step:Read each remaining parallel class as a Latin square]
Fix $k \in \{1,\dots,n-1\}$. Label the $n$ lines in the parallel class $\mathcal{C}_k$ by symbols $M_{k,a}$ for $a \in S$. Define the map
\begin{align*}
L_k: S \times S &\to S
\end{align*}
by declaring $L_k(r,c)=a$ exactly when
\begin{align*}
p_{r,c} \in M_{k,a}.
\end{align*}
This is well-defined because the lines in $\mathcal{C}_k$ partition $P$.
We prove that $L_k$ is a Latin square. Fix $r \in S$ and $a \in S$. The row line $R_r$ and the symbol line $M_{k,a}$ lie in different parallel classes, so they meet in exactly one point. That point has the form $p_{r,c}$ for a unique $c \in S$, and for that unique $c$ we have $L_k(r,c)=a$. Thus, in row $r$, each symbol $a$ occurs exactly once. Similarly, fixing $c \in S$ and $a \in S$, the column line $K_c$ and the symbol line $M_{k,a}$ meet in exactly one point, so in column $c$ each symbol $a$ occurs exactly once. Therefore $L_k$ is a Latin square of order $n$.
[/step]
[step:Use intersections of symbol lines to prove orthogonality]
Let $i,j \in \{1,\dots,n-1\}$ be distinct. Define $\Theta_{i,j}: S \times S \to S \times S$ by $\Theta_{i,j}(r,c)=(L_i(r,c),L_j(r,c))$. We show that $\Theta_{i,j}$ is bijective. Fix $(a,b) \in S \times S$. The lines $M_{i,a}$ and $M_{j,b}$ belong to distinct parallel classes, so they meet in exactly one point $p \in P$. Since $\Phi$ is bijective, there is a unique pair $(r,c) \in S \times S$ with $p=p_{r,c}$. By construction, $L_i(r,c)=a$ and $L_j(r,c)=b$. Hence each ordered pair $(a,b)$ occurs exactly once, so $\Theta_{i,j}$ is bijective. Thus $L_1,\dots,L_{n-1}$ are mutually orthogonal Latin squares.
[/step]
[step:Construct points and lines from a complete set of mutually orthogonal Latin squares]
Conversely, assume that $S$ is a set with $|S|=n$ and that
\begin{align*}
L_k: S \times S &\to S
\end{align*}
for $k \in \{1,\dots,n-1\}$ are mutually orthogonal Latin squares. Since the theorem assumes $n \ge 2$, the row and column directions constructed below are genuinely distinct. Define the point set
\begin{align*}
P := S \times S.
\end{align*}
For each $r \in S$, define the row line
\begin{align*}
R_r := \{(r,c) \in S \times S : c \in S\}.
\end{align*}
For each $c \in S$, define the column line
\begin{align*}
K_c := \{(r,c) \in S \times S : r \in S\}.
\end{align*}
For each $k \in \{1,\dots,n-1\}$ and each $a \in S$, define the symbol line
\begin{align*}
M_{k,a} := \{(r,c) \in S \times S : L_k(r,c)=a\}.
\end{align*}
Let $\mathcal{L}$ be the set of all row lines, column lines, and symbol lines.
The row lines form one parallel class, the column lines form one parallel class, and for each $k$ the lines $\{M_{k,a}:a \in S\}$ form one parallel class. Each line has exactly $n$ points: this is immediate for rows and columns, and for $M_{k,a}$ it follows because every row of the Latin square $L_k$ contains the symbol $a$ exactly once.
[/step]
[step:Verify the affine incidence axiom for pairs of distinct points]
Let $(r,c),(r',c') \in P$ be distinct points.
If $r=r'$, then both points lie on the unique row line $R_r$. No column line contains both because $c \neq c'$, and no symbol line $M_{k,a}$ contains both because, for fixed $k$ and fixed row $r$, the map $S \to S$ given by $d \mapsto L_k(r,d)$ is bijective.
If $c=c'$, then both points lie on the unique column line $K_c$. No row line contains both because $r \neq r'$, and no symbol line $M_{k,a}$ contains both because, for fixed $k$ and fixed column $c$, the map $S \to S$ given by $s \mapsto L_k(s,c)$ is bijective.
It remains to consider the case $r \neq r'$ and $c \neq c'$. There is no row line or column line containing both points. For a fixed $k$, the two points lie on a common line from the $k$-th symbol class exactly when
\begin{align*}
L_k(r,c)=L_k(r',c').
\end{align*}
There is at most one such index $k$. Indeed, if distinct indices $i$ and $j$ satisfied
\begin{align*}
L_i(r,c)&=L_i(r',c'), &
L_j(r,c)&=L_j(r',c'),
\end{align*}
then the orthogonality map $S \times S \to S \times S$ given by $(s,d) \mapsto (L_i(s,d),L_j(s,d))$ would take the two distinct inputs $(r,c)$ and $(r',c')$ to the same value, contradicting bijectivity.
There is at least one such index $k$. For the fixed point $(r,c)$, the values
\begin{align*}
L_1(r,c),\dots,L_{n-1}(r,c),c
\end{align*}
are $n$ labels attached to the $n$ possible positions in row $r'$. Since the row maps of each $L_k$ are bijective, for each $k$ there is a unique $d_k \in S$ with
\begin{align*}
L_k(r',d_k)=L_k(r,c).
\end{align*}
Also $d_\infty:=c$ is the unique column position for which $(r',d_\infty)$ lies on the column line through $(r,c)$. The positions
\begin{align*}
d_1,\dots,d_{n-1},d_\infty
\end{align*}
are pairwise distinct. If $d_i=d_j$ for distinct $i,j$, then orthogonality of $L_i$ and $L_j$ would identify the two distinct cells $(r,c)$ and $(r',d_i)$. If $d_k=d_\infty=c$, then $(r,c)$ and $(r',c)$ would lie in the same column and also in the same $k$-th symbol line, contradicting the Latin property in column $c$. Hence these $n$ distinct elements exhaust $S$. Since $c' \neq c=d_\infty$, there is a unique $k \in \{1,\dots,n-1\}$ with $c'=d_k$, and therefore
\begin{align*}
L_k(r',c')=L_k(r,c).
\end{align*}
Thus the two points lie on the unique symbol line $M_{k,L_k(r,c)}$.
Therefore every two distinct points of $P$ lie on exactly one line in $\mathcal{L}$.
[guided]
The only non-mechanical part of the construction is proving that two arbitrary cells determine exactly one line. Let the two distinct points be
\begin{align*}
(r,c),(r',c') \in S \times S.
\end{align*}
If $r=r'$, then both points are in the row line $R_r$. Since the points are distinct, $c \neq c'$. They cannot share a column line. They also cannot share a symbol line $M_{k,a}$, because in the fixed row $r$ of the Latin square $L_k$, each symbol occurs exactly once. Equivalently, the map $S \to S$ given by $d \mapsto L_k(r,d)$ is bijective, so $L_k(r,c) \neq L_k(r,c')$. Hence the row line is the unique line through the two points.
If $c=c'$, the same argument with columns gives the unique line $K_c$. For every $k$, the map $S \to S$ given by $s \mapsto L_k(s,c)$ is bijective, so two different rows in the same column cannot have the same $L_k$-symbol.
Now suppose $r \neq r'$ and $c \neq c'$. A row line cannot contain both points, and a column line cannot contain both points. Therefore a common line, if it exists, must be one of the symbol lines. For a fixed $k$, the two points lie on the same $k$-symbol line precisely when
\begin{align*}
L_k(r,c)=L_k(r',c').
\end{align*}
First we prove uniqueness. Suppose two distinct indices $i$ and $j$ both worked. Then
\begin{align*}
L_i(r,c)&=L_i(r',c'), &
L_j(r,c)&=L_j(r',c').
\end{align*}
Thus the orthogonality map $S \times S \to S \times S$ given by $(s,d) \mapsto (L_i(s,d),L_j(s,d))$ would send the two distinct cells $(r,c)$ and $(r',c')$ to the same ordered pair. This contradicts the definition of orthogonality, which says that this map is bijective. Hence at most one symbol class can contain a common line through the two points.
It remains to prove existence. Fix the first point $(r,c)$ and look along row $r'$. For each Latin square $L_k$, the row map $S \to S$ given by $d \mapsto L_k(r',d)$ is bijective. Therefore there is a unique element $d_k \in S$ such that
\begin{align*}
L_k(r',d_k)=L_k(r,c).
\end{align*}
This means that $(r',d_k)$ is the unique point in row $r'$ lying on the same $k$-symbol line as $(r,c)$. Also define $d_\infty:=c$, which is the unique element of row $r'$ lying on the same column line as $(r,c)$.
We claim that
\begin{align*}
d_1,\dots,d_{n-1},d_\infty
\end{align*}
are pairwise distinct. If $d_i=d_j$ for $i \neq j$, then the two cells $(r,c)$ and $(r',d_i)$ have the same $L_i$-symbol and the same $L_j$-symbol. Orthogonality of $L_i$ and $L_j$ would force $(r,c)=(r',d_i)$, contradicting $r \neq r'$. If $d_k=d_\infty=c$, then $(r,c)$ and $(r',c)$ lie in the same column and have the same $L_k$-symbol. But in column $c$, the map $S \to S$ given by $s \mapsto L_k(s,c)$ is bijective, so two distinct rows cannot give the same symbol. This again contradicts $r \neq r'$.
There are $n$ elements listed and $|S|=n$, so they exhaust $S$. Since $c' \neq c=d_\infty$, the element $c'$ must equal exactly one of $d_1,\dots,d_{n-1}$. Thus there is a unique $k$ such that $c'=d_k$, and then
\begin{align*}
L_k(r',c')=L_k(r',d_k)=L_k(r,c).
\end{align*}
Therefore $(r,c)$ and $(r',c')$ lie on the symbol line $M_{k,L_k(r,c)}$. Combining existence and uniqueness, the two points determine exactly one line.
[/guided]
[/step]
[step:Identify the parallel classes and conclude the equivalence]
The constructed lines split into the following $n+1$ families. Define the row family by
\begin{align*}
\mathcal{R} := \{R_r : r \in S\}.
\end{align*}
Define the column family by
\begin{align*}
\mathcal{K} := \{K_c : c \in S\}.
\end{align*}
For each $k \in \{1,\dots,n-1\}$, define the $k$-th symbol family by
\begin{align*}
\mathcal{M}_k := \{M_{k,a} : a \in S\}.
\end{align*}
Within each family the lines are pairwise disjoint and their union is $P$. This is immediate for rows and columns. For $\mathcal{M}_k$, it follows because each cell $(r,c)$ has exactly one value $L_k(r,c) \in S$.
We also record that lines from distinct families intersect in exactly one point. A row line $R_r$ and a column line $K_c$ meet in the single point $(r,c)$. A row line $R_r$ and a symbol line $M_{k,a}$ meet in exactly one point because the row map $d \mapsto L_k(r,d)$ is bijective, and a column line $K_c$ and a symbol line $M_{k,a}$ meet in exactly one point because the column map $s \mapsto L_k(s,c)$ is bijective. Finally, if $i \neq j$, then $M_{i,a}$ and $M_{j,b}$ meet in exactly one point because the orthogonality map $(r,c) \mapsto (L_i(r,c),L_j(r,c))$ is bijective.
Thus the incidence structure $(P,\mathcal{L})$ has $n^2$ points, each line has $n$ points, its lines split into $n+1$ parallel classes of $n$ pairwise disjoint lines, every two distinct points lie on a unique line, and lines from distinct parallel classes meet exactly once. Hence it is an affine plane of order $n$.
The first three steps constructed $n-1$ mutually orthogonal Latin squares from an affine plane of order $n$, and the last three steps constructed an affine plane of order $n$ from $n-1$ mutually orthogonal Latin squares. This proves the equivalence.
[/step]