Minimal polynomial and diagonalizable matrix
Solution 1:
Theorem. $A$ is diagonalizable over $\mathbf{F}$ if and only if the minimal polynomial of $A$ splits over $\mathbf{F}$ and is square free.
Proof. Let $\mu(t) = (\phi_1(t))^{n_1}\cdots(\phi_k(t))^{n_k}$ be the minimal polynomial of $A$, where $\phi_i$ are pairwise distinct monic irreducible polynomials, $n_j\geq 1$; and let $\chi(t) = (\phi_1(t))^{m_1}\cdots(\phi_k(t))^{m_k}$ be the characteristic polynomial, so $n_j\leq m_j$ for each $j$.
(It is a theorem that every irreducible factor of the characteristic polynomial must divide the minimal polynomial, and the Cayley-Hamilton Theorem shows that the minimal polynomial must divide the characteristic polynomial).
If $A$ is diagonalizable, then the characteristic polynomial splits, hence the minimal polynomial splits; and it is easy to verify that $(A-\lambda_1I)\cdots(A-\lambda_kI) = \mathbf{0}$, so the minimal polynomial is square free.
Conversely, if the minimal polynomial splits, then so does the characteristic polynomial; thus, $A$ has a Jordan canonical form. The largest block associated to the eigenvalue $\lambda$ equals the largest power of $t-\lambda$ that divides the minimal polynomial. The matrix is diagonalizable if and only if all the blocks have size $1$, so if the minimal polynomial is square free, then every block is of size $1$, so $A$ is diagonalizable. QED
It is not hard to verify that the minimal polynomial of $C$ must divide the minimal polynomial of $A$; for $B$, the result follows simply because we are looking at the restriction of $A$ to an $A$-invariant subspace. It follows that if $A$ is diagonalizable, then $B$ and $C$ have minimal polynomials that divide a squarefree polynomial that splits, so the minimal polynomials of $B$ and $C$ are squarefree and split, so $B$ and $C$ are diagonalizable. Conversely, if you happen to know that the minimal polynomial of $A$ equals the product of the minimal polynomials of $B$ and $C$, then if $B$ and $C$ are diagonalizable and have distinct eigenvalues, then the minimal polynomials of $B$ and $C$ split and are squarefree, and in addition they are relatively prime. So the minimal polynomial of $A$ splits, and since it is the product of two relatively prime squarefree polynomials, it is itself squarefree; thus, $A$ is diagonalizable.
The condition that $B$ and $C$ have distinct eigenvalues cannot be omitted. For example, $$A = \left(\begin{array}{c|cc} 1 & 1 & 0\\ \hline 0 & 1 & 0\\ 0 & 0 & 2 \end{array}\right),\quad B=\left(1\right),\quad C = \left(\begin{array}{cc}1 & 0\\0 & 2\end{array}\right),\quad D = \left( 1\quad 0\right),$$ then $B$ and $C$ are each diagonalizable, but $A$ is not (it is already in Jordan canonical form, and is not diagonal).
Solution 2:
I would like to clarify a small part of Arturo's excellent answer.
Let $p$ be any polynomial. Because $A^n=\pmatrix{ B^n & * \\ 0 & C^n}$ (where $*$ stands for some unknown entry), we have that $p(A)=\pmatrix{ p(B) & * \\ 0 & p(C)}$. Now, let $M_A$ be the minimal polynomial of $A$. Our computation shows that $M_A(B)=0$ and $M_A(C)=0$. Therefore, the minimal polynomial of $B$ and the minimal polynomial of $C$ ($M_B$ and $M_C$) both divide $M_A$. However, we do NOT have that $M_A=M_B M_C$ unless the eigenvalues of $B$ are distinct from the eigenvalues of $C$. For example, take $A=I_{2n}$ and $B=C=I_n$. We have that $M_A=M_B=M_C=(x-1)$.