# Magic Square of Odd Order

Here given code implementation process.

``````// C Program
// Magic Square of Odd length
#include <stdio.h>

// Find magic square of Odd length
void magicSquare(int n)
{
if (n <= 1 || n % 2 == 0)
{
// This are not work when number is Even and less than 3
return;
}
int matrix[n][n];
int row = 0;
int col = 0;
int value = 1;
// Set default value
for (row = 0; row < n; ++row)
{
for (col = 0; col < n; ++col)
{
matrix[row][col] = 0;
}
}
// Get first location
row = n / 2;
col = n - 1;
// Execute loop through by n*n
while (value <= n *n)
{
// row and column indicate element position but
// Before accessing the elements we check its valid limit
if (row == -1 && col == n)
{
// When row is -1 and column is equal to given n
col = n - 2;
row = 0;
}
if (col == n)
{
// When columns are out of range
col = 0;
}
if (row < 0)
{
// When row value less than zero
row = n - 1;
}
if (row == n)
{
// When row are out of range
row = 0;
}
if (matrix[row][col] == 0)
{
// Put value
matrix[row][col] = value;
row = row - 1;
col = col + 1;
// Change element value
value++;
}
else
{
row = row + 1;
col = col - 2;
}
}
printf("  Magic square of size (%dX%d) \n", n, n);
// Display result
for (row = 0; row < n; ++row)
{
for (col = 0; col < n; ++col)
{
printf("  %d", matrix[row][col]);
}
printf("\n");
}
printf("  Sum of each rows and columns is %d \n\n", (n *(n *n + 1) / 2));
}
int main(int argc, char
const *argv[])
{
magicSquare(7);
magicSquare(9);
magicSquare(3);
return 0;
}``````

#### Output

``````  Magic square of size (7X7)
20  12  4  45  37  29  28
11  3  44  36  35  27  19
2  43  42  34  26  18  10
49  41  33  25  17  9  1
40  32  24  16  8  7  48
31  23  15  14  6  47  39
22  21  13  5  46  38  30
Sum of each rows and columns is 175

Magic square of size (9X9)
35  25  15  5  76  66  56  46  45
24  14  4  75  65  55  54  44  34
13  3  74  64  63  53  43  33  23
2  73  72  62  52  42  32  22  12
81  71  61  51  41  31  21  11  1
70  60  50  40  30  20  10  9  80
59  49  39  29  19  18  8  79  69
48  38  28  27  17  7  78  68  58
37  36  26  16  6  77  67  57  47
Sum of each rows and columns is 369

Magic square of size (3X3)
2  7  6
9  5  1
4  3  8
Sum of each rows and columns is 15
``````
``````/*
Java Program for
Magic Square of Odd length
*/
class Square
{
// Find magic square of Odd length
public void magicSquare(int n)
{
if (n <= 1 || n % 2 == 0)
{
// This are not work when number is Even and less than 3
return;
}
int[][] matrix = new int[n][n];
int row = 0;
int col = 0;
int value = 1;
// Set default value
for (row = 0; row < n; ++row)
{
for (col = 0; col < n; ++col)
{
matrix[row][col] = 0;
}
}
// Get first location
row = n / 2;
col = n - 1;
// Execute loop through by n*n
while (value <= n * n)
{
// row and column indicate element position but
// Before accessing the elements we check its valid limit
if (row == -1 && col == n)
{
// When row is -1 and column is equal to given n
col = n - 2;
row = 0;
}
if (col == n)
{
// When columns are out of range
col = 0;
}
if (row < 0)
{
// When row value less than zero
row = n - 1;
}
if (row == n)
{
// When row are out of range
row = 0;
}
if (matrix[row][col] == 0)
{
// Put value
matrix[row][col] = value;
row = row - 1;
col = col + 1;
// Change element value
value++;
}
else
{
row = row + 1;
col = col - 2;
}
}
System.out.print(" Magic square of size (" + n + "X" + n + ") \n");
// Display result
for (row = 0; row < n; ++row)
{
for (col = 0; col < n; ++col)
{
System.out.print("  " + matrix[row][col]);
}
System.out.print("\n");
}
System.out.print(" Sum of each rows and columns is " + (n * (n * n + 1) / 2) + " \n\n");
}
public static void main(String[] args)
{
}
}``````

#### Output

`````` Magic square of size (7X7)
20  12  4  45  37  29  28
11  3  44  36  35  27  19
2  43  42  34  26  18  10
49  41  33  25  17  9  1
40  32  24  16  8  7  48
31  23  15  14  6  47  39
22  21  13  5  46  38  30
Sum of each rows and columns is 175

Magic square of size (9X9)
35  25  15  5  76  66  56  46  45
24  14  4  75  65  55  54  44  34
13  3  74  64  63  53  43  33  23
2  73  72  62  52  42  32  22  12
81  71  61  51  41  31  21  11  1
70  60  50  40  30  20  10  9  80
59  49  39  29  19  18  8  79  69
48  38  28  27  17  7  78  68  58
37  36  26  16  6  77  67  57  47
Sum of each rows and columns is 369

Magic square of size (3X3)
2  7  6
9  5  1
4  3  8
Sum of each rows and columns is 15
``````
``````// Include header file
#include <iostream>

using namespace std;
/*
C++ Program for
Magic Square of Odd length
*/
class Square
{
public:
// Find magic square of Odd length
void magicSquare(int n)
{
// This are not work when number is Even and less than 3
if (n <= 1 || n % 2 == 0)
{
return;
}
int matrix[n][n];
int row = 0;
int col = 0;
int value = 1;
// Set default value
for (row = 0; row < n; ++row)
{
for (col = 0; col < n; ++col)
{
matrix[row][col] = 0;
}
}
// Get first location
row = n / 2;
col = n - 1;
// Execute loop through by n*n
while (value <= n *n)
{
// row and column indicate element position but
// Before accessing the elements we check its valid limit
if (row == -1 && col == n)
{
// When row is -1 and column is equal to given n
col = n - 2;
row = 0;
}
if (col == n)
{
// When columns are out of range
col = 0;
}
if (row < 0)
{
// When row value less than zero
row = n - 1;
}
if (row == n)
{
// When row are out of range
row = 0;
}
if (matrix[row][col] == 0)
{
// Change element value
// Put value
matrix[row][col] = value;
row = row - 1;
col = col + 1;
value++;
}
else
{
row = row + 1;
col = col - 2;
}
}
cout << " Magic square of size (" << n << "X" << n << ") \n";
// Display result
for (row = 0; row < n; ++row)
{
for (col = 0; col < n; ++col)
{
cout << "  " << matrix[row][col];
}
cout << "\n";
}
cout << " Sum of each rows and columns is " << (n *(n *n + 1) / 2) << " \n\n";
}
};
int main()
{
return 0;
}``````

#### Output

``````  Magic square of size (7X7)
20  12  4  45  37  29  28
11  3  44  36  35  27  19
2  43  42  34  26  18  10
49  41  33  25  17  9  1
40  32  24  16  8  7  48
31  23  15  14  6  47  39
22  21  13  5  46  38  30
Sum of each rows and columns is 175

Magic square of size (9X9)
35  25  15  5  76  66  56  46  45
24  14  4  75  65  55  54  44  34
13  3  74  64  63  53  43  33  23
2  73  72  62  52  42  32  22  12
81  71  61  51  41  31  21  11  1
70  60  50  40  30  20  10  9  80
59  49  39  29  19  18  8  79  69
48  38  28  27  17  7  78  68  58
37  36  26  16  6  77  67  57  47
Sum of each rows and columns is 369

Magic square of size (3X3)
2  7  6
9  5  1
4  3  8
Sum of each rows and columns is 15
``````
``````// Include namespace system
using System;
/*
C# Program for
Magic Square of Odd length
*/
public class Square
{
// Find magic square of Odd length
public void magicSquare(int n)
{
// This are not work when number is Even and less than 3
if (n <= 1 || n % 2 == 0)
{
return;
}
int[,] matrix = new int[n,n];
int row = 0;
int col = 0;
int value = 1;
// Set default value
for (row = 0; row < n; ++row)
{
for (col = 0; col < n; ++col)
{
matrix[row,col] = 0;
}
}
// Get first location
row = n / 2;
col = n - 1;
// Execute loop through by n*n
while (value <= n * n)
{
// row and column indicate element position but
// Before accessing the elements we check its valid limit
if (row == -1 && col == n)
{
// When row is -1 and column is equal to given n
col = n - 2;
row = 0;
}
if (col == n)
{
// When columns are out of range
col = 0;
}
if (row < 0)
{
// When row value less than zero
row = n - 1;
}
if (row == n)
{
// When row are out of range
row = 0;
}
if (matrix[row,col] == 0)
{
// Change element value
// Put value
matrix[row,col] = value;
row = row - 1;
col = col + 1;
value++;
}
else
{
row = row + 1;
col = col - 2;
}
}
Console.Write(" Magic square of size (" + n + "X" + n + ") \n");
// Display result
for (row = 0; row < n; ++row)
{
for (col = 0; col < n; ++col)
{
Console.Write("  " + matrix[row,col]);
}
Console.Write("\n");
}
Console.Write(" Sum of each rows and columns is " + (n * (n * n + 1) / 2) + " \n\n");
}
public static void Main(String[] args)
{
}
}``````

#### Output

`````` Magic square of size (7X7)
20  12  4  45  37  29  28
11  3  44  36  35  27  19
2  43  42  34  26  18  10
49  41  33  25  17  9  1
40  32  24  16  8  7  48
31  23  15  14  6  47  39
22  21  13  5  46  38  30
Sum of each rows and columns is 175

Magic square of size (9X9)
35  25  15  5  76  66  56  46  45
24  14  4  75  65  55  54  44  34
13  3  74  64  63  53  43  33  23
2  73  72  62  52  42  32  22  12
81  71  61  51  41  31  21  11  1
70  60  50  40  30  20  10  9  80
59  49  39  29  19  18  8  79  69
48  38  28  27  17  7  78  68  58
37  36  26  16  6  77  67  57  47
Sum of each rows and columns is 369

Magic square of size (3X3)
2  7  6
9  5  1
4  3  8
Sum of each rows and columns is 15
``````
``````<?php
/*
Php Program for
Magic Square of Odd length
*/
class Square
{
// Find magic square of Odd length
public	function magicSquare(\$n)
{
// This are not work when number is Even and less than 3
if (\$n <= 1 || \$n % 2 == 0)
{
return;
}
\$matrix = array_fill(0, \$n, array_fill(0, \$n, 0));
// Get first location
\$row = intval(\$n / 2);
\$col = \$n - 1;
\$value = 1;
// Execute loop through by n*n
while (\$value <= \$n * \$n)
{
// row and column indicate element position but
// Before accessing the elements we check its valid limit
if (\$row == -1 && \$col == \$n)
{
// When row is -1 and column is equal to given n
\$col = \$n - 2;
\$row = 0;
}
if (\$col == \$n)
{
// When columns are out of range
\$col = 0;
}
if (\$row < 0)
{
// When row value less than zero
\$row = \$n - 1;
}
if (\$row == \$n)
{
// When row are out of range
\$row = 0;
}
if (\$matrix[\$row][\$col] == 0)
{
// Change element value
// Put value
\$matrix[\$row][\$col] = \$value;
\$row = \$row - 1;
\$col = \$col + 1;
\$value++;
}
else
{
\$row = \$row + 1;
\$col = \$col - 2;
}
}
echo " Magic square of size (". \$n ."X". \$n .") \n";
// Display result
for (\$row = 0; \$row < \$n; ++\$row)
{
for (\$col = 0; \$col < \$n; ++\$col)
{
echo "  ". \$matrix[\$row][\$col];
}
echo "\n";
}
echo " Sum of each rows and columns is ". (intval(\$n * (\$n * \$n + 1) / 2)) ." \n\n";
}
}

function main()
{
}
main();``````

#### Output

`````` Magic square of size (7X7)
20  12  4  45  37  29  28
11  3  44  36  35  27  19
2  43  42  34  26  18  10
49  41  33  25  17  9  1
40  32  24  16  8  7  48
31  23  15  14  6  47  39
22  21  13  5  46  38  30
Sum of each rows and columns is 175

Magic square of size (9X9)
35  25  15  5  76  66  56  46  45
24  14  4  75  65  55  54  44  34
13  3  74  64  63  53  43  33  23
2  73  72  62  52  42  32  22  12
81  71  61  51  41  31  21  11  1
70  60  50  40  30  20  10  9  80
59  49  39  29  19  18  8  79  69
48  38  28  27  17  7  78  68  58
37  36  26  16  6  77  67  57  47
Sum of each rows and columns is 369

Magic square of size (3X3)
2  7  6
9  5  1
4  3  8
Sum of each rows and columns is 15
``````
``````/*
Node Js Program for
Magic Square of Odd length
*/
class Square
{
// Find magic square of Odd length
magicSquare(n)
{
// This are not work when number is Even and less than 3
if (n <= 1 || n % 2 == 0)
{
return;
}
var matrix = Array(n).fill(0).map(() => new Array(n).fill(0));
// Get first location
var row = parseInt(n / 2);
var col = n - 1;
var value = 1;
// Execute loop through by n*n
while (value <= n * n)
{
// row and column indicate element position but
// Before accessing the elements we check its valid limit
if (row == -1 && col == n)
{
// When row is -1 and column is equal to given n
col = n - 2;
row = 0;
}
if (col == n)
{
// When columns are out of range
col = 0;
}
if (row < 0)
{
// When row value less than zero
row = n - 1;
}
if (row == n)
{
// When row are out of range
row = 0;
}
if (matrix[row][col] == 0)
{
// Change element value
// Put value
matrix[row][col] = value;
row = row - 1;
col = col + 1;
value++;
}
else
{
row = row + 1;
col = col - 2;
}
}
process.stdout.write(" Magic square of size (" + n + "X" + n + ") \n");
// Display result
for (row = 0; row < n; ++row)
{
for (col = 0; col < n; ++col)
{
process.stdout.write("  " + matrix[row][col]);
}
process.stdout.write("\n");
}
process.stdout.write(" Sum of each rows and columns is " + (parseInt(n * (n * n + 1) / 2)) + " \n\n");
}
}

function main()
{
}
main();``````

#### Output

`````` Magic square of size (7X7)
20  12  4  45  37  29  28
11  3  44  36  35  27  19
2  43  42  34  26  18  10
49  41  33  25  17  9  1
40  32  24  16  8  7  48
31  23  15  14  6  47  39
22  21  13  5  46  38  30
Sum of each rows and columns is 175

Magic square of size (9X9)
35  25  15  5  76  66  56  46  45
24  14  4  75  65  55  54  44  34
13  3  74  64  63  53  43  33  23
2  73  72  62  52  42  32  22  12
81  71  61  51  41  31  21  11  1
70  60  50  40  30  20  10  9  80
59  49  39  29  19  18  8  79  69
48  38  28  27  17  7  78  68  58
37  36  26  16  6  77  67  57  47
Sum of each rows and columns is 369

Magic square of size (3X3)
2  7  6
9  5  1
4  3  8
Sum of each rows and columns is 15
``````
``````#   Python 3 Program for
#   Magic Square of Odd length

class Square :
#  Find magic square of Odd length
def magicSquare(self, n) :
#  This are not work when number is Even and less than 3
if (n <= 1 or n % 2 == 0) :
return

matrix = [[0] * (n) for _ in range(n) ]
#  Get first location
row = int(n / 2)
col = n - 1
value = 1
#  Execute loop through by n*n
while (value <= n * n) :
#  row and column indicate element position but
#  Before accessing the elements we check its valid limit
if (row == -1 and col == n) :
#  When row is -1 and column is equal to given n
col = n - 2
row = 0

if (col == n) :
#  When columns are out of range
col = 0

if (row < 0) :
#  When row value less than zero
row = n - 1

if (row == n) :
#  When row are out of range
row = 0

if (matrix[row][col] == 0) :
#  Change element value
#  Put value
matrix[row][col] = value
row = row - 1
col = col + 1
value += 1
else :
row = row + 1
col = col - 2

print(" Magic square of size (", n ,"X", n ,") ")
#  Display result
row = 0
while (row < n) :
col = 0
while (col < n) :
print("  ", matrix[row][col], end = "")
col += 1

print(end = "\n")
row += 1

print(" Sum of each rows and columns is ", (int(n * (n * n + 1) / 2)) ," \n")

def main() :

if __name__ == "__main__": main()``````

#### Output

`````` Magic square of size ( 7 X 7 )
20   12   4   45   37   29   28
11   3   44   36   35   27   19
2   43   42   34   26   18   10
49   41   33   25   17   9   1
40   32   24   16   8   7   48
31   23   15   14   6   47   39
22   21   13   5   46   38   30
Sum of each rows and columns is  175

Magic square of size ( 9 X 9 )
35   25   15   5   76   66   56   46   45
24   14   4   75   65   55   54   44   34
13   3   74   64   63   53   43   33   23
2   73   72   62   52   42   32   22   12
81   71   61   51   41   31   21   11   1
70   60   50   40   30   20   10   9   80
59   49   39   29   19   18   8   79   69
48   38   28   27   17   7   78   68   58
37   36   26   16   6   77   67   57   47
Sum of each rows and columns is  369

Magic square of size ( 3 X 3 )
2   7   6
9   5   1
4   3   8
Sum of each rows and columns is  15
``````
``````#   Ruby Program for
#   Magic Square of Odd length

class Square
#  Find magic square of Odd length
def magicSquare(n)
#  This are not work when number is Even and less than 3
if (n <= 1 || n % 2 == 0)
return
end

matrix = Array.new(n) {Array.new(n) {0}}
#  Get first location
row = n / 2
col = n - 1
value = 1
#  Execute loop through by n*n
while (value <= n * n)
#  row and column indicate element position but
#  Before accessing the elements we check its valid limit
if (row == -1 && col == n)
#  When row is -1 and column is equal to given n
col = n - 2
row = 0
end

if (col == n)
#  When columns are out of range
col = 0
end

if (row < 0)
#  When row value less than zero
row = n - 1
end

if (row == n)
#  When row are out of range
row = 0
end

if (matrix[row][col] == 0)
#  Change element value
#  Put value
matrix[row][col] = value
row = row - 1
col = col + 1
value += 1
else
row = row + 1
col = col - 2
end

end

print(" Magic square of size (", n ,"X", n ,") \n")
#  Display result
row = 0
while (row < n)
col = 0
while (col < n)
print("  ", matrix[row][col])
col += 1
end

print("\n")
row += 1
end

print(" Sum of each rows and columns is ", (n * (n * n + 1) / 2) ," \n\n")
end

end

def main()
end

main()``````

#### Output

`````` Magic square of size (7X7)
20  12  4  45  37  29  28
11  3  44  36  35  27  19
2  43  42  34  26  18  10
49  41  33  25  17  9  1
40  32  24  16  8  7  48
31  23  15  14  6  47  39
22  21  13  5  46  38  30
Sum of each rows and columns is 175

Magic square of size (9X9)
35  25  15  5  76  66  56  46  45
24  14  4  75  65  55  54  44  34
13  3  74  64  63  53  43  33  23
2  73  72  62  52  42  32  22  12
81  71  61  51  41  31  21  11  1
70  60  50  40  30  20  10  9  80
59  49  39  29  19  18  8  79  69
48  38  28  27  17  7  78  68  58
37  36  26  16  6  77  67  57  47
Sum of each rows and columns is 369

Magic square of size (3X3)
2  7  6
9  5  1
4  3  8
Sum of each rows and columns is 15

``````
``````/*
Scala Program for
Magic Square of Odd length
*/
class Square
{
// Find magic square of Odd length
def magicSquare(n: Int): Unit = {
// This are not work when number is Even and less than 3
if (n <= 1 || n % 2 == 0)
{
return;
}
var matrix: Array[Array[Int]] = Array.fill[Int](n, n)(0);
// Get first location
var row: Int = (n / 2).toInt;
var col: Int = n - 1;
var value: Int = 1;
// Execute loop through by n*n
while (value <= n * n)
{
// row and column indicate element position but
// Before accessing the elements we check its valid limit
if (row == -1 && col == n)
{
// When row is -1 and column is equal to given n
col = n - 2;
row = 0;
}
if (col == n)
{
// When columns are out of range
col = 0;
}
if (row < 0)
{
// When row value less than zero
row = n - 1;
}
if (row == n)
{
// When row are out of range
row = 0;
}
if (matrix(row)(col) == 0)
{
// Change element value
// Put value
matrix(row)(col) = value;
row = row - 1;
col = col + 1;
value += 1;
}
else
{
row = row + 1;
col = col - 2;
}
}
print(" Magic square of size (" + n + "X" + n + ") \n");
// Display result
row = 0;
while (row < n)
{
col = 0;
while (col < n)
{
print("  " + matrix(row)(col));
col += 1;
}
print("\n");
row += 1;
}
print(" Sum of each rows and columns is " + ((n * (n * n + 1) / 2).toInt) + " \n\n");
}
}
object Main
{
def main(args: Array[String]): Unit = {
var task: Square = new Square();
}
}``````

#### Output

`````` Magic square of size (7X7)
20  12  4  45  37  29  28
11  3  44  36  35  27  19
2  43  42  34  26  18  10
49  41  33  25  17  9  1
40  32  24  16  8  7  48
31  23  15  14  6  47  39
22  21  13  5  46  38  30
Sum of each rows and columns is 175

Magic square of size (9X9)
35  25  15  5  76  66  56  46  45
24  14  4  75  65  55  54  44  34
13  3  74  64  63  53  43  33  23
2  73  72  62  52  42  32  22  12
81  71  61  51  41  31  21  11  1
70  60  50  40  30  20  10  9  80
59  49  39  29  19  18  8  79  69
48  38  28  27  17  7  78  68  58
37  36  26  16  6  77  67  57  47
Sum of each rows and columns is 369

Magic square of size (3X3)
2  7  6
9  5  1
4  3  8
Sum of each rows and columns is 15
``````
``````/*
Swift 4 Program for
Magic Square of Odd length
*/
class Square
{
// Find magic square of Odd length
func magicSquare(_ n: Int)
{
// This are not work when number is Even and less than 3
if (n <= 1 || n % 2 == 0)
{
return;
}
var matrix: [[Int]] = Array(repeating: Array(repeating: 0, count: n), count: n);
// Get first location
var row: Int = n / 2;
var col: Int = n - 1;
var value: Int = 1;
// Execute loop through by n*n
while (value <= n * n)
{
// row and column indicate element position but
// Before accessing the elements we check its valid limit
if (row == -1 && col == n)
{
// When row is -1 and column is equal to given n
col = n - 2;
row = 0;
}
if (col == n)
{
// When columns are out of range
col = 0;
}
if (row < 0)
{
// When row value less than zero
row = n - 1;
}
if (row == n)
{
// When row are out of range
row = 0;
}
if (matrix[row][col] == 0)
{
// Change element value
// Put value
matrix[row][col] = value;
row = row - 1;
col = col + 1;
value += 1;
}
else
{
row = row + 1;
col = col - 2;
}
}
print(" Magic square of size (", n ,"X", n ,") ");
// Display result
row = 0;
while (row < n)
{
col = 0;
while (col < n)
{
print(" ", matrix[row][col], terminator: "");
col += 1;
}
print(terminator: "\n");
row += 1;
}
print(" Sum of each rows and columns is ", (n * (n * n + 1) / 2) ," \n");
}
}
func main()
{
}
main();``````

#### Output

`````` Magic square of size ( 7 X 7 )
20  12  4  45  37  29  28
11  3  44  36  35  27  19
2  43  42  34  26  18  10
49  41  33  25  17  9  1
40  32  24  16  8  7  48
31  23  15  14  6  47  39
22  21  13  5  46  38  30
Sum of each rows and columns is  175

Magic square of size ( 9 X 9 )
35  25  15  5  76  66  56  46  45
24  14  4  75  65  55  54  44  34
13  3  74  64  63  53  43  33  23
2  73  72  62  52  42  32  22  12
81  71  61  51  41  31  21  11  1
70  60  50  40  30  20  10  9  80
59  49  39  29  19  18  8  79  69
48  38  28  27  17  7  78  68  58
37  36  26  16  6  77  67  57  47
Sum of each rows and columns is  369

Magic square of size ( 3 X 3 )
2  7  6
9  5  1
4  3  8
Sum of each rows and columns is  15
``````
``````/*
Kotlin Program for
Magic Square of Odd length
*/
class Square
{
// Find magic square of Odd length
fun magicSquare(n: Int): Unit
{
// This are not work when number is Even and less than 3
if (n <= 1 || n % 2 == 0)
{
return;
}
var matrix: Array <Array<Int>> = Array(n){Array(n){0}};
// Get first location
var row: Int = n / 2;
var col: Int = n - 1;
var value: Int = 1;
// Execute loop through by n*n
while (value <= n * n)
{
// row and column indicate element position but
// Before accessing the elements we check its valid limit
if (row == -1 && col == n)
{
// When row is -1 and column is equal to given n
col = n - 2;
row = 0;
}
if (col == n)
{
// When columns are out of range
col = 0;
}
if (row < 0)
{
// When row value less than zero
row = n - 1;
}
if (row == n)
{
// When row are out of range
row = 0;
}
if (matrix[row][col] == 0)
{
// Change element value
// Put value
matrix[row][col] = value;
row = row - 1;
col = col + 1;
value += 1;
}
else
{
row = row + 1;
col = col - 2;
}
}
print(" Magic square of size (" + n + "X" + n + ") \n");
// Display result
row = 0;
while (row < n)
{
col = 0;
while (col < n)
{
print("  " + matrix[row][col]);
col += 1;
}
print("\n");
row += 1;
}
print(" Sum of each rows and columns is " + (n * (n * n + 1) / 2) + " \n\n");
}
}
fun main(args: Array < String > ): Unit
{
}``````

#### Output

`````` Magic square of size (7X7)
20  12  4  45  37  29  28
11  3  44  36  35  27  19
2  43  42  34  26  18  10
49  41  33  25  17  9  1
40  32  24  16  8  7  48
31  23  15  14  6  47  39
22  21  13  5  46  38  30
Sum of each rows and columns is 175

Magic square of size (9X9)
35  25  15  5  76  66  56  46  45
24  14  4  75  65  55  54  44  34
13  3  74  64  63  53  43  33  23
2  73  72  62  52  42  32  22  12
81  71  61  51  41  31  21  11  1
70  60  50  40  30  20  10  9  80
59  49  39  29  19  18  8  79  69
48  38  28  27  17  7  78  68  58
37  36  26  16  6  77  67  57  47
Sum of each rows and columns is 369

Magic square of size (3X3)
2  7  6
9  5  1
4  3  8
Sum of each rows and columns is 15
``````

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.