蒸し返す様だけど

成分が整数で行列式が±1であるようなn×n行列全体の集合をGLn(Z)とする。
また対角成分がa_1,a_2,...,a_nであるような行列を、D(a_1,a_2,...,a_n)とする。
このとき任意のn×n行列Aに対して、
PAQ=D(d_1,d_2,...d_m,0,...,0)
m<=n,di∈N(自然数),d_iはd_(i+1)の約数、P,Q∈GLn(Z)
となるP,Qが存在することを示せ。

よろしくおねがいします。