Creio que dá pra ser mais simples. Primeiro que não precisa validar, pois pelo que entendi do enunciado, ele já garante que os números estarão entre 1 e 100. Basta ver se é zero para saber quando deve parar.
Além disso, tem uma fórmula mais simples para não precisar do loop interno:
while (int.TryParse(Console.ReadLine(), out int n))
{
if (n == 0)
{
break;
}
Console.WriteLine(n * (n + 1) * (2 * n + 1) / 6);
}
Pelos casos de teste fornecidos, parece OK. Também fiz um programa comparando a fórmula com o loop e também está certo. Só não testei no beecrowd porque agora eles exigem que vc preencha 100% do seu perfil, e sinceramente não estou com paciência...