A leap year X has exactly the same calendar as another leap year Y. What can be the absolute difference between the values of X and Y? A leap year X has exactly the same calendar as another leap year Y. What can be the absolute difference between the values of X and Y?


*

*12

*28

*40

*All of these


How can we find which leap year will have the same calendar as another leap year?
What is the logic behind finding that?
 A: The difference can be either 12, 28, or 40.
If we use the first of January as reference day, we find that if it is a normal year with 365 = 7 * 52 + 1 days, the reference day is shifted to one day from the week later. In the case of a leap year this would be 366=7*52+2 days and the weekday is shifted with two.
Example: 


*

*1/1/2016 = Friday  : leap year, so it shifts two days

*1/1/2017 = Sunday  : normal year, only shifts one day

*1/1/2018 = Monday


Since we are only interested in leap years, we progress with a shift of 5 days


*

*1/1/2016 = Friday

*1/1/2020 = Wednesday


So in order to have the same calendar in  leap year, we need to make a jump that is a multiple of 7, which would require 28 year in total


*

*1/1/2016 = Friday

*1/1/2044 = Friday


There is however a catch. A year is a leap year when it is divisible by 4, unless it is a centennial year. In that case the century counter should be divisible by 4. This means that the years 1600, 2000, 2400, ... are leap years, but 1700, 1800, 1900, 2100, ... are not leap years.
So we need to make a similar analysis for the case when such a year falls within the 28 year period of repetition. If you would check this you will find that


*

*1/1/1868 = Wednesday

*1/1/1872 = Monday

*1/1/1876 = Saturday

*...

*1/1/1896 = Wednesday

*1/1/1900 = Monday   : This is not a leap year !

*1/1/1904 = Friday

*1/1/1908 = Wednesday : This year has the same calendar as 1896, a 12
year period

*1/1/1912 = Monday

*1/1/1916 = Saturday : This year has the same calendar as 1868, a 40
year period


So the difference can indeed be any of those three values
