Every $m\times n$ matrix $X$ satisfies
$$
\DeclareMathOperator{rank}{rank}\rank(X^\top X)=\rank(X)
$$
A proof can be found in this question.
In our case this fact implies that $A^\top A$ is an $n\times n$ matrix with rank $n$. It follows that $A^\top A$ is invertible.
Now, let $A_{\mathsf{L}}=(A^\top A)^{-1}A^\top$. Then
$$
A_{\mathsf{L}}A=(A^\top A)^{-1}A^\top A=I
$$
Hence $A\vec x=A\vec y$ implies $A_{\mathsf{L}}A\vec x=A_{\mathsf{L}}A\vec y$ so $I\vec x=I\vec y$ and $\vec x=\vec y$.
This actually gives a quick proof that every short exact sequence of linear maps between finite-dimensional vector spaces splits.