This is my second .NET crack-me, I hope you enjoy it : )

Description:
This crackme implements a very basic math function (I think you have more fun in
reversing code than math function :P), the real difficulty is to understand how 
the program works.

Tasks:
1. write a tutorial on how the program works
2. write a keygen

Rules:
You can use every tool you want ; )