Imports System
Public Class MagicSquareChecker
Public Shared Function IsMagicSquare(ByVal matrix As Integer(,)) As Boolean
Dim size As Integer = matrix.GetLength(0)
Dim sumDiagonal1 As Integer = 0, sumDiagonal2 As Integer = 0
For i As Integer = 0 To size - 1
sumDiagonal1 += matrix(i, i)
Next
For i As Integer = 0 To size - 1
sumDiagonal2 += matrix(i, size - i - 1)
Next
If sumDiagonal1 <> sumDiagonal2 Then
Return False
End If
For i As Integer = 0 To size - 1
Dim sumRow As Integer = 0, sumCol As Integer = 0
For j As Integer = 0 To size - 1
sumRow += matrix(i, j)
sumCol += matrix(j, i)
Next
If sumRow <> sumDiagonal1 OrElse sumCol <> sumDiagonal1 Then
Return False
End If
Next
Return True
End Function
Public Shared Sub Main()
Dim matrix As Integer(,) = {
{8, 3, 4},
{1, 5, 9},
{6, 7, 2}}
If IsMagicSquare(matrix) Then
Console.WriteLine("The given matrix is a magic square.")
Else
Console.WriteLine("The given matrix is NOT a magic square.")
End If
End Sub
End Class
' run:
'
' The given matrix is a magic square.
'