Estou com problema na questão da logica desse exercício, como consigo mostrar na tela uma matriz em recursividade?
Obs: Consegui por vetor, mas com matriz estou com dificuldade
static int matriz(int n, int contador, int contador1,int [,] m) {
            if(contador < n)
            {
                if(contador1 < n)
                {
                    m[contador, contador1] = 1;
                    Console.Write("{0,3}", m[contador, contador1]);
                    contador1++;
                    matriz(n, contador, contador1, m);
                }
                contador++;
                Console.WriteLine();
            }
        }
        static void Main(string[] args)
        {
            int n;
            do
            {
                do
                {
                    Console.WriteLine("Digite o primeiro valor: ");
                    n = int.Parse(Console.ReadLine());
                } while (n < 0 || n > 100);
                int[,] m = new int[n, n];
                int contador = 0, contador1 = 0;
                matriz(n, contador, contador1, m);
            } while (n != 0);
            Console.ReadKey(); 
            