The calculated distance (air line) between Haddington and Cowdenbeath is approximately 24 miles respectively 39 kilometers.
By car or train, the actual journey to Cowdenbeath is certainly longer, as only the direct route (as the crow flies) between Haddington and Cowdenbeath has been calculated here.
Air line (approximately)
39 kilometers
21 nautical miles