A set of n vectors spans $\mathbb R^{n} $ if and only if the determinant of the matrix they form is nonzero? 
A set of $n$ vectors spans $\mathbb R^{n}$ if and only if the determinant of the matrix they form is nonzero?

I get why it's true in one direction; that if the determinant of the matrix is nonzero, it spans $\mathbb R^ {n} $ -- because of the fact that if the determinant of a matrix A is 0, then Ax = b has a unique solution for every b.
But if the determinant of the matrix is zero, it doesn't mean that there is no solution for every b, it just means that there isn't a unique solution for every b, correct? So couldn't there be an infinite amount of solutions for every b, or a unique solution for some values of b and an infinite amount for others, in which case the set of vectors would, in fact, span $\mathbb R^{n}$? Maybe I'm thinking about this wrong. I tried looking at a similar question on here, but the answers talked about basis, which isn't something my book covers until the next section.
 A: There are a number of ways to prove this.  Here's an algebraic approach:
Let $A$ be an $n \times n$ matrix of determinant $0$.  Let $B$ be this matrix in row echelon form.  We can write $B = E_1E_2 \cdots E_nA$, where the $E_k$'s are elementary matrices corresponding to the various row operations that put $A$ into row-echelon form.  Bearing in mind that determinant is multiplicative, we can take the determinant of both sides above to get:
$$\det(B) = \det(E_1E_2 \cdots E_nA) = \det(E_1)\det(E_2) \cdots \det(E_n)\det(A) = 0$$
$B$ is an upper triangular matrix, so its determinant is given by the product of its diagonal entries.  Since $\det(B) = 0$ and it is a square matrix in row echelon form, it is forced that at least one row of $B$ is a row of zeros.  This tells us that a nontrivial linear combination of rows of $A$ yields the zero vector.  Therefore, the $n$ row vectors of $A$ cannot be linearly independent $\implies$ they do not span $\mathbb{R}^n$.
A: You say that you have seen the general solution of a linear system using free variables. You have probably seen that to solve a linear system you should apply Gaussian elimination operations on the rows of the matrix $A$, and then repeat them on the entries of $b$ (or apply them to the matrix $[A\,\, b]$, which is effectively the same), producing respectively $R$ and $f$. The set of solutions of $Rx=f$ is the same as the set of solutions of $Ax=b$.
If a matrix is square and singular, then this procedure produces a zero row (or more) at the bottom of $R$ (this is how you have defined "singular", I guess?). There are some choices of the starting vector $b$ that produce a zero in the last position of $f$; for instance, $b=0$. There are some choices of $b$ that produce a nonzero in the last position of $f$; for instance, if no row exchanges are required for Gaussian elimination, you can take $b=\begin{bmatrix}0\\0\\\vdots\\0\\1\end{bmatrix}$.
These correspond, respectively, to a system with an infinite number of solutions and a system with no solutions (by the general solution algorithm). So we have proved that for each square singular $A$ there are choices of $b$ that produce an infinite number of solutions and some that produce no solutions.
