Помогите с рекурсивными методами

Есть у меня задание. Нужно написать программу, которая при помощи статического метода считает сумму квадратов n числа (1^2 + 2^2 + 3^2 ... n ^2). И сделать нужно два варианта, с рекурсивным методом и обычным. Обычным я спокойно сделал, но вот с рекурсивным проблема. Мой рекурсивный метод всегда выдаёт число 1, хотя за входные данные я беру 5 и ответом должно быть 55. Вот код, тыкните носом что не так, я студент:

using System;

namespace SummaKvadratov
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Введите N");
            int n = Int32.Parse(Console.ReadLine());
            int sqrsum = 0;
            int counter = 1;
            Console.Clear();
            Console.WriteLine("Сумма квадратов числа " + n + " равна - " + SqrSumMethod(n, sqrsum, counter));
            Console.ReadKey();
        }

        private static int SqrSumMethod(int n, int sqrsum, int counter)
        {
            if (counter <= n)
            {
                sqrsum += counter * counter;
                counter++;
                SqrSumMethod(n, sqrsum, counter);
                return sqrsum;
            }
            else
            {
                return sqrsum;
            }
        }
    }
}


Ответы (1 шт):

Автор решения: Игорь
private static int SqrSumMethod(int n, int sqrsum, int counter)
{
    if (counter <= n)
    {
        sqrsum += counter * counter;
        counter++;
        return SqrSumMethod(n,  sqrsum, counter);//Вот так
    }
    else
    {
        return sqrsum;
    }
}
→ Ссылка