I have recently posted this problem and I've been thinking about a generalization:
Let $A$ be a $n \times n$ matrix with complex entries and $\operatorname{rank}A=k.$ Prove that there are two $n \times k$ matrices, $X$ and $Y^T$, such that $$A=XY^T$$
Is this true for any $k \geq 3$?
Yes. Pick a basis of the ($k$-dimensional) column space of $A$ and put those basis vectors together to form a matrix $X$. Since the $j$-th column $\mathbf a_j$ of $A$ is a linear combination of these basis vectors, $\mathbf a_j=X\mathbf w_j$ for some $k$-dimensional vector $\mathbf w_j$. Put those $\mathbf w_j$s together to form a matrix $W$, you get $A=XW$. Let $Y=W^T$ and the conclusion follows.