No.800 四平方定理

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 通常問題
タグ : / 解いたユーザー数 195
作問者 : tempura_pptempura_pp / テスター : heno_codeheno_code
17 ProblemId : 2815 / 出題時の順位表

問題文

整数$N,\ D$が与えられます。以下の2条件をともにみたす正の整数の組$(x,\ y,\ z, w)$の個数を求めてください。

  1. $x,\ y,\ z,\ w$はすべて1以上$N$以下の整数
  2. $x^2+y^2+z^2=w^2+D$

(注) 想定解でPython3(1986ms)、PyPy3(478ms)でACできることを確認しています。

入力

$N\ D$

  • $1\le N\le 2000$
  • $0\le D\le 10^6$
  • 入力はすべて整数

出力

条件をみたす整数の組の個数を1行に出力してください。

サンプル

サンプル1
入力
3 2
出力
7

以下の7つです。
$(x,\ y,\ z,\ w)$=(1, 1, 1, 1), (1, 1, 2, 2), (1, 1, 3, 3), (1, 2, 1, 2), (1, 3, 1, 3), (2, 1, 1, 2), (3, 1, 1, 3)

サンプル2
入力
7 100
出力
6

サンプル3
入力
1500 1000000
出力
1911906

提出ページヘ
下のフォームでの入力は、テキストボックスにフォーカスがない場合は、(Onにしている場合)ショートカットキー・スマートサブミットの影響を受けるので、必要なら提出ページに遷移してください。

言語
問題によって提出できない言語があります。参考
ソースコード
ソースコードのテキストボックスに文字がある場合はファイルは無視されます。
テキストボックスで提出するとCR(\r)が除去されますが、ファイルで提出すると除去されません。