Prove that $ST = TS$ if $S$ and $T$ have same eigenvectors 
Suppose $V$ is finite-dimensional, $T \in \mathcal{L}(V)$ has dim $V$ distinct eigenvalues, and $S \in \mathcal{L}(V)$ has the same eigenvectors as $T$ (not necessarily with the same eigenvalues). Prove that $ST = TS$. 

My general thinking is take $v \in V$ as a linear combination of the eigenvectors $v_1 + \dots + v_n$. Then 
$$S(Tv) = S(\lambda_Tv) = \lambda_S\lambda_Tv = \lambda_T \lambda_S v = T(\lambda_S v) = TSv$$
Something feels incomplete and I think this is the right direction, but it doesn't feel like I am using everything that is given to me. Not sure where to go from here or how to troubleshoot this myself
 A: Let $\lambda_1,\dots,\lambda_n$ be the distinct eigenvalues of $\textsf{T}$. Let $v_1,\dots,v_n$ be the corresponding eigenvectors. Also, let $\mu_1,\dots,\mu_n$ be the eigenvalues of $\textsf S$. 
So, we have
$$\textsf{T}(v_i) = \lambda_iv_i \qquad (i=1,2,\dots,n)$$
and 
$$\textsf{S}(v_i) = \mu_iv_i \qquad (i=1,2,\dots,n)$$
Now, since $\{v_1,\dots,v_n\}$ is a basis for $\textsf V$, it is sufficient to show that $(\textsf{ST})(v_i)=(\textsf{TS})(v_i)$ for all $i$. But this is easy, just see :
$$\begin{align}
(\textsf{ST})(v_i) &= \textsf{S}(\textsf{T}(v_i)) = \textsf{S}(\lambda_iv_i) \\
&= \lambda_i\textsf{S}(v_i) = \lambda_i(\mu_iv_i) = \mu_i(\lambda_iv_i) \\ 
&= \mu_i\textsf{T}(v_i) = \textsf{T}(\mu_iv_i) \\
&= \textsf{T}(\textsf{S}(v_i)) = (\textsf{TS})(v_i)
\end{align}$$
A: Let $(e_i)_{i \in \{1, \cdots n\}}$ be the eigenvectors of $T$. They form a basis on $V$ (why?) and both $T,S$ can be simultaneously diagonalized w.r.t this new basis. Write $S = B D_S B^{-1}$ and $T= B D_T B^{-1}$ where $D_T$ and $D_S$ are diagonal matrices. 
Calculating yields $ST = B D_S B^{-1} B D_TB^{-1}= BD_SD_TB^{-1}$ Now as diagonal matrices commute with each other we have: 
$BD_SD_TB^{-1}= BD_TD_SB^{-1}=B D_T B^{-1} B D_SB^{-1} = TS$.
