The minimum you need to write it is a text editor; but a decent IDE is a more appropriate choice. The most obvious example would be Visual Studio, but you can also use Mono, or Eclipse if developing in java is not a concern.
Otherwise, you develop it the same way as any other software:
1) you write down on a paper all your requirements, as well as a schematic UI design.
2) you create a project and start coding as per these requirements/design.
3) you write some unit tests to make sure that the returned results are valid.
4) you debug it toroughly.
You may come back here and ask for a specific question on a specific issue of the code that you wrote. Here is not a code-ordering site. Please see
CodeProject QA FAQ[
^]