Depending on one's need for accuracy, there are any number of ways to calculate the Equation of Time. Wikipedia's EoT page and its Analemma page give a number of these. The simplest rely on the fact that both the Eccentricity and Obliquity effects are almost sine curves. Others are Fourier-based solutions. Finally there are those that use sound astronomical methods. Here you will find an example each method.
WHY BOTHER TO CALCULATE AT ALL...
On September one, trust the Sun. 
Come Halloween, subtract sixteen. 
 On Christmas Day, you're OK. 
 For your Valentine true, add a dozen and two. 
The mid of month four, add no more
At the mid of May, take four away. 
 On June fourteen, don't add a bean. 
 When August begins, add seven little mins. 
 The rest is easy: for any date, All you do is interpolate
a poem by Tad Dunne
VERY SIMPLE METHOD
A 1970 letter from my Uncle John Wigham Richardson explaining how to calculate the Equation of Time
ASTRONOMICAL ALMANAC METHOD
This method is adapted from Section C5 of the Astronomical Almanac and EoT is accurate to +/- 3.5 seconds during this Century.
FOURIER METHOD
This method provides the quickest way to find the Longitude Corrected Equation of Time. The routine below can be pasted directly into Microsoft Excel by opening a Visual Basic module,
This was developed by many EoT calculations (every 6 hours every day over this Century) from NASA/JPL Horizons application (see below for details of this application). Amongst the many variables that Horizons can calculate is the Hour Angle of the Sun, from which it is easy to deduce the EoT. The EoT values thus provided were subjected  to rigorous Fourier analysis. This gives results that are within +/- 13 seconds of the value predicted by Horizons over this Century.
Function EoT(Year, Month, Day, Hour, Zone, DST, Longitude):
    UTC_Hour  = Hour - Zone - DST
    Long_Corr = 15 * Zone - Longitude
    aaa           = 367 * Year - 730531.5
    bbb           = Int((7 * Int(Year + (Month + 9) / 12)) / 4)
    ccc            = Int(275 * Month / 9) + Day
    Theta         = 0.004301 * (4 * (aaa - bbb + ccc + UTC_Hour / 24#))
    EoT1          = 7.353 * Sin(1 * Theta + 6.208)
    EoT2          = 9.927 * Sin(2 * Theta + 0.370)
    EoT3          = 0.337 * Sin(3 * Theta + 0.304)
    EoT4           = 0.231 * Sin(4 * Theta + 0.716)
    EoT = 0.017 + EoT1 + EoT2 + EoT3 + EoT4 + Long_Corr
End Function
In the above, the date & time are your local civil time. Longitude is in degrees +ve East of Greenwich. Zone is is in Hours +ve East of Greenwich. DST is in hours.
FURTHER DETAILS ON CALCULATING THE ELLIPTICITY EFFECT
MEEUS' ALGORITHMS
The most complete 'non-professional' algorithms for calculation of the Equation of Time are provided in by Jan Meeus -  Astronomical Algorithms (1998), 2nd ed - ISBN 0-943396-61-1.
You can view the author's Javascript implementation of Meeus' algorithms for the Sun here. If you would like to use these algorithms, contact the author, who would be happy to send you a text file.
OTHER SOURCES
For more information of the astronomical background of the Equation of Time, see the article below which was published in NASS Compendium : Vol 25 Nos 3 & 4, Sept & Dec 2018. (Including some corrections for the published text)

MICA
From the US Naval Observatory, this is a relatively cheap program that provides everything that an serious amateur astronomer, gnomonist or navigator might need. N,B. The Mac version of MICA does NOT work under recent Apple Mac OSX.
HORIZONS
This is the program, in whose user guide, it states that the user should consult the web-master if using the program for manned planetary landings. It is east to use and quite straight-forward. It is lightening fast, free and astronomically the best that there is.
The above images gives an indication of how input to Horizons is set up. Note the time must be UTC. The quantities, under Table Settings, will output Right Ascension & Declination, Azimuth & Altitude, and Local Solar Time (subtract the UTC value to get the gnomonical convention topographical Equation of Time plus the longitude correction)
Back to Top