You can either use the Server-side object model, allowing you to run the application only on the same server that has Sharepoint installed, or the client object model, which you can run from anywhere.
There are different version of the client object model for JavaScript, SilverLight, Mobile and Managed use. From a C# client application, you'll probably need the Managed version. Those assemblies can be found in the ISAPI folder of your Sharepoint installation, and can be copied to your Visual Studio environment to reference.
Using the Object Model, you are going to access the correct list that has the approval workflow attached to it, find the attached workflow, and start it.
I don't have a complete code sample, but it should give you an idea:
ClientContext context = new ClientContext("http://SiteUrl");
Web web = context.Web;
List list = web.Lists.GetByTitle("My List");
var workflowManager = context.Current.Site.WorkflowManager;
var workflowAssociations = list.WorkflowAssociations;
I don't have a working environment with all the SP references here, so the last two lines are untested.
Also, you need to find the approval workflow in the list of WorkflowAssocations (by GUID or name, I'm not sure? sorry, no code sample).
Then use the WorkflowManager to start the Workflow with the right AssociationData (sorry, no code sample)