和の公式

高校で\sum_{k=1}^n k=\frac{n(n+1)}{2}\sum_{k=1}^n k^2=\frac{n(n+1)(2n+1)}{6}\sum_{k=1}^n k^2=\frac{n^2(n+1)^2}{4}を習う.
大学への数学」辺りで読んだ証明は次のようなもの:例えばm=1, 2の場合の答えを既に知っているとき,(k+3)(k+2)(k+1)k-(k+2)(k+1)k(k-1)=4(k+2)(k+1)kの両辺をk=1からk=nまで足し合わせれば,\sum_{k=1}^n k^3\sum_{k=1}^n k^2\sum_{k=1}^n kの線形結合がnの4次式(n+3)(n+2)(n+1)nに等しくなるので,少々の変形でm=3の場合の表式が手に入る.
が,一般のk^mの和は難しい.それでも漸化式なり何なりで無理矢理一般的に表せないものか? 幸い,上の証明は非常に一般的である. ...と思って少々計算してみたらやはりどうにも悲惨な式しか得られない.\sum_{i=1}^n i\sum_{j=i+1}^n j\sum_{k=j+1}^n \ldotsとか出てくる.こりゃ本に載らないはずだわ.しかも漸化式ってのがそれ以前の全ての項に依存する形になる.もっと簡単になるのか?
Mathematicaは具体的にmを(自然数に)指定するとあっと言う間に表式を返してくる.悔しいが見事なものだ.それによればm=4より先ではかなり汚い式になる.
\sum_{k=1}^n k^{10}=\frac{n(n+1)(2n+1)(n^2+n-1)(3n^6+9n^5+2n^4-11n^3+3n^2+10n-5)}{66}
なお Table[HarmonicNumber[n, -m], {m, 10}] // Factor とすると10次までの\sum_{k=1}^n k^m因数分解したものの一覧が出てくる.Mathematicaは関数的なプログラムを書いた方が力を発揮しやすい(「強力なパターンマッチを持ったLisp」に近いので).