As 2016 is a leap year but 1966 was not, January's and February's days did not line up, but the rest of the year will do so.
I count 13 leap years between 1968 and 2016. So we have (50 x 365) + 13 = 2,609, which divides exactly by 7.
This wouldn't work for 1866 and 1916, or for 2066 and 2116, because those century years (1900 and 2100)
aren't leap years, thus there are only 12 extra days in the interval.
Many other 50-year gaps, like 1965 through 2015 would also fail, having but 12 leap years in there instead of the requisite 13.
I'll systematically test this via a program. This is Microsoft Visual Basic 6, and you can run this routine as a macro in MS Word or MS Excel or MS Access. You can change the starting and ending dates and the interval as you wish. You can see a pattern in the results.
[Edit: Rewrote the variable names. The CODE format item is interesting, but has some quirks, so the indentation is vague.]
The code:
Code:
Sub NYearGap()
'First year as a constant; increment as a constant
Dim iyFirst As Integer, iyIncr As Integer
'Key date as a constant
Dim strKeyDate As String
'First and last years as variables
Dim intYrX As Integer, intYrY As Integer
'Weekdays of both dates, derived from function
Dim intWkdayX As Integer, intWkdayY As Integer
'String representation of both dates
Dim strDayX As String, strDayY As String
'--- Change this as desired ---
intYrFirst = 1900
intYrLast = 2000
intYrAnniversary = 50
strKeyDate = "September 8"
'Loop through the range specified, testing Septrember 8 each time
For intYrX = intYrFirst To intYrLast
'Compute the last year from the first plus the interval
intYrY = intYrX + intYrAnniversary
'Create the two dates as strings
strDayX = strKeyDate & "," & Str$(intYrX)
strDayY = strKeyDate & "," & Str$(intYrY)
'Use the MS function to get the weekdays as a number 0-6.
intWkdayX = Weekday(strDayX)
intWkdayY = Weekday(strDayY)
'If a match, output the results
'Use Weekday function to label the weekday
If intWkdayX = intWkdayY Then
Debug.Print strDayX; " and "; strDayY, "; both are "; WeekdayName(intWkdayX)[/INDENT]
End If
Next intYrX
End Sub
The output:
September 8, 1902 and September 8, 1952 ; both are Monday
September 8, 1903 and September 8, 1953 ; both are Tuesday
September 8, 1906 and September 8, 1956 ; both are Saturday
September 8, 1907 and September 8, 1957 ; both are Sunday
September 8, 1910 and September 8, 1960 ; both are Thursday
September 8, 1911 and September 8, 1961 ; both are Friday
September 8, 1914 and September 8, 1964 ; both are Tuesday
September 8, 1915 and September 8, 1965 ; both are Wednesday
September 8, 1918 and September 8, 1968 ; both are Sunday
September 8, 1919 and September 8, 1969 ; both are Monday
September 8, 1922 and September 8, 1972 ; both are Friday
September 8, 1923 and September 8, 1973 ; both are Saturday
September 8, 1926 and September 8, 1976 ; both are Wednesday
September 8, 1927 and September 8, 1977 ; both are Thursday
September 8, 1930 and September 8, 1980 ; both are Monday
September 8, 1931 and September 8, 1981 ; both are Tuesday
September 8, 1934 and September 8, 1984 ; both are Saturday
September 8, 1935 and September 8, 1985 ; both are Sunday
September 8, 1938 and September 8, 1988 ; both are Thursday
September 8, 1939 and September 8, 1989 ; both are Friday
September 8, 1942 and September 8, 1992 ; both are Tuesday
September 8, 1943 and September 8, 1993 ; both are Wednesday
September 8, 1946 and September 8, 1996 ; both are Sunday
September 8, 1947 and September 8, 1997 ; both are Monday
September 8, 1950 and September 8, 2000 ; both are Friday
September 8, 1951 and September 8, 2001 ; both are Saturday
September 8, 1954 and September 8, 2004 ; both are Wednesday
September 8, 1955 and September 8, 2005 ; both are Thursday
September 8, 1958 and September 8, 2008 ; both are Monday
September 8, 1959 and September 8, 2009 ; both are Tuesday
September 8, 1962 and September 8, 2012 ; both are Saturday
September 8, 1963 and September 8, 2013 ; both are Sunday
September 8, 1966 and September 8, 2016 ; both are Thursday
September 8, 1967 and September 8, 2017 ; both are Friday
September 8, 1970 and September 8, 2020 ; both are Tuesday
September 8, 1971 and September 8, 2021 ; both are Wednesday
September 8, 1974 and September 8, 2024 ; both are Sunday
September 8, 1975 and September 8, 2025 ; both are Monday
September 8, 1978 and September 8, 2028 ; both are Friday
September 8, 1979 and September 8, 2029 ; both are Saturday
September 8, 1982 and September 8, 2032 ; both are Wednesday
September 8, 1983 and September 8, 2033 ; both are Thursday
September 8, 1986 and September 8, 2036 ; both are Monday
September 8, 1987 and September 8, 2037 ; both are Tuesday
September 8, 1990 and September 8, 2040 ; both are Saturday
September 8, 1991 and September 8, 2041 ; both are Sunday
September 8, 1994 and September 8, 2044 ; both are Thursday
September 8, 1995 and September 8, 2045 ; both are Friday
September 8, 1998 and September 8, 2048 ; both are Tuesday
September 8, 1999 and September 8, 2049 ; both are Wednesday