设S n 是各项均为非零实数的数列{a n }的前n项和,给出如下两个命题上:命题p:{a n }是等差数列;命题q:等式 1 a 1 a 2 + 1 a 2 a 3 +…+ 1 a n a n+1 = kn+b a 1 a n+1 对任意n(n∈N * )恒成立,其中k,b是常数. (1)若p是q的充分条件,求k,b的值; (2)对于(1)中的k与b,问p是否为q的必要条件,请说明理由; (3)若p为真命题,对于给定的正整数n(n>1)和正数M,数列{a n }满足条件 a 21 + a 2n+1 ≤M ,试求S n 的最大值.