diff --git a/pdeSolver.c b/pdeSolver.c
index afd011be23a9e5616b07599227fd9bcf4630377f..bcc31312d62f1ae629c826a3538c522ee532bc8a 100644
--- a/pdeSolver.c
+++ b/pdeSolver.c
@@ -7,9 +7,6 @@ u(i,j) = f(x,y) + (u(i+1,j) + u(i-1,j))/Δx² + (u(i,j+1) + u(i,j-1))/Δy² + (-
 
 */
 
-//#define MAX_SIZE 100000000 // 100 MB.
-//int inMemory = 0;
-
 void print_errno(void) {
     printf("%s",strerror(errno));
 }
@@ -70,33 +67,13 @@ int main(int argc, char *argv[]) {
 	getParams(argc,argv,fpExit);
 
 	Nx = (1/Hx);
+    Nx++;
 	Ny = (1/Hy);
-	Nx++;
 	Ny++;
-	if(Nx != Ny) {
-		puts("Not a square matrix. Result will be undetermined or impossible.");
-		exit(-1);
-	}
 	W = (2 - (Hx + Hy)) / 2;
-	if(W < 1) {
-		puts("Relaxation factor less than 1 - program may not work as you expect.");
-	}
 	UDivisor = (2 / Hx * Hx) + (2 / Hy * Hy) + 4 * Pipi;
-	/*if((Nx * Ny * 8) <= MAX_SIZE) { // Should we save a matrix with f(x,y) values?
-		inMemory = 1;
-	}*/
 
 	double sigma;
-	//double **u,**f;
-
-	/*for(i=0; i<Nx; i++) {
-		for(j=0; i<Ny; i++) {
-			u[i][j] = calloc(sizeof(double));
-			f[i][j] = malloc(sizeof(double));
-			f[i][j] = f(i*Hx,j*Hy);
-		}
-	}*/
-
 	double *u = calloc(sizeof(double), Nx * Ny);
 
 	sigma = sinh(M_PI * M_PI);
@@ -107,14 +84,12 @@ int main(int argc, char *argv[]) {
 
 	// Nx columns and Ny rows.
 
-	/*for(k=0; k<MaxI; k++) {
+	/* // SOR
+    for(k=0; k<MaxI; k++) {
 		for(i=1; i<Ny; i++) {
 			sigma = 0;
 			for(j=1; j<Nx; j++) {
-				/*if(j != i) {
-					sigma += a[i][j] * fi[i];
-				}*/
-				/*sigma += a[i][j] * fi[i];
+				sigma += a[i][j] * fi[i];
 			}
 			sigma -= a[i][i] * fi[i];
 			//fi[i] = (1 - W) * fi[i] + W/a[i][i] * (b[i] - sigma);
@@ -123,4 +98,48 @@ int main(int argc, char *argv[]) {
 	}*/
 
 	return 0;
-}
\ No newline at end of file
+}
+
+/*
+u(i,j) = f(x,y) + (u(i+1,j) + u(i-1,j))/Δx² + (u(i,j+1) + u(i,j-1))/Δy² + (-u(i+1,j)+u(i-1,j))/2Δx + (-u(i,j+1)+u(i,j-1))/2Δy
+         --------------------------------------------------------------------------------------------------------------------
+                                                          2/Δx² + 2/Δy² + 4π²
+
+
+Formato:
+
+Ax = B
+
+A [a11 a12 a13] * X [x1] = B [b1] -> a11*x1 + a12*x2 + a13*x3 = b1 -> x1 = (b1 - a12*x2 - a13*x3)/a11
+  [a21 a22 a23]     [x2]     [b2] -> a11*x1 + a12*x2 + a13*x3 = b2 -> x2 = (b2 - a11*x1 - a13*x3)/a12
+  [a31 a32 a33]     [x3]     [b3] -> a11*x1 + a12*x2 + a13*x3 = b3 -> x3 = (b3 - a11*x1 - a12*x2)/a13
+
+se x1 = u(1,1), sei calcular x1 da forma double u(int i, int j) {}
+Mesmo vale pra x2 e x3. E valeria pra x4, x5, x6, etc.
+
+
+Se u for uma matriz de 6 elementos. Ou seja, Hx = 0.25 e Hy = 0.3
+
+u  u   u   u
+u  x5  x6  u
+u  x3  x4  u
+u  x1  x2  u
+u  u   u   u
+
+5 linhas, 4 colunas.
+Ny = 3, Nx = 2.
+
+x1 = u11
+x2 = u12
+x3 = u13
+x4 = u21
+x5 = u22
+x6 = u23
+
+Matriz A, olhando pela equação u(i,j) obtida, seria algo assim:
+A = [1        ]
+    [  1      ]
+    [    1    ]
+    [      1  ]
+    [        1]
+*/
\ No newline at end of file