Added interior point solver code (from Dropbox)