
Here I give the algorithm (as a C++ program), but no math proof yet. http://apps.topcoder.com/forums/?module=Thread&threadID=734973&start=0 Please, challenge it first with counterexamples or acknowledge that it passes your tests.
I claim that the algorithm solves a formerly unsolved problem in Computer Science: polynomialtime comparison of graphs (given 2 graphs as adjacency matrices, find a permutation for the rows&columns of the second graph so that the permuted adjacency matrix matches the adjacency matrix of the first graph). The key consequence is that Graph Isomorphism problem belongs to computational complexity class P, because there is a polynomialtime algorithm that solves this problem. 