Linear referencing is the key term to describe the suite of algorithms to do what you want to do. If you want to inspect the source code to the algorithms, check out GEOS (e.g., geos::linearref::LengthIndexedLine Class), or JTS (e.g., com.vividsolutions.jts.linearref).
If you are working with Lat/Long data, you will need to project this to something with sane linear units, like UTM with units of metres. After you interpolate a point (say 10 km from your start point), then you can transform that point back to Lat/Long.
If you are into Python, I'd recommend looking into GDAL/OGR/OSR for vector projection from Lat/Long to UTM, and Shapely (which uses GEOS) for the simple linear referencing methods (pay particular attention to these examples).