The £104.50 advance on East Coast (departure 11:10) is telling you to walk to Euston and get a train to Edinburgh from there, whereas Virgin Trains gives you an advance on the direct East Coast service (departure 10:00) for £77.50. Ironic!
On the East Coast website, if you specify "via Newcastle", then it'll sell you an advance for £75.95 on the 10:00 King's Cross - Perth and then change for a bus, which is what you get on Virgin Trains (but with the East Coast online discount).
Don't ask me why it doesn't default to this train without putting a "via" point in.