[step:Identify inconsistency and construct a solution from reduced row echelon form]
Let $R \in k^{m \times (n+1)}$ be the final augmented matrix. By the preceding step, $S(R)=S(C)$, and $S(C)$ is exactly the solution set of $Ax=b$.
If some row $i$ satisfies $R_{ij}=0_k$ for every $j \in \{1,\dots,n\}$ and $R_{i,n+1} \neq 0_k$, then the corresponding equation is $0_k=R_{i,n+1}$, which is false in a field. Hence $S(R)=\varnothing$, and the algorithm correctly reports that $Ax=b$ has no solution.
Assume no such row exists. Let $P \subset \{1,\dots,n\}$ be the set of pivot columns recorded by the algorithm, and let $F=\{1,\dots,n\}\setminus P$ be the set of free columns. Define $x \in k^n$ as follows. For each free column $j \in F$, set $x_j=0_k$. For each pivot column $p \in P$, let $i(p)$ be the unique row whose leading pivot is in column $p$, and set
\begin{align*}
x_p = R_{i(p),n+1}.
\end{align*}
Because the algorithm normalized each pivot to $1_k$ and eliminated all other entries in each pivot column, every nonzero row of $R$ has the form
\begin{align*}
x_p + \sum_{j \in F} R_{i(p),j}x_j = R_{i(p),n+1}.
\end{align*}
With $x_j=0_k$ for every $j \in F$ and $x_p=R_{i(p),n+1}$, each such equation is satisfied. The zero rows are also satisfied because we have assumed there is no row with zero coefficient part and nonzero final entry. Thus $x \in S(R)=S(C)$, so $Ax=b$.
[/step]