Life expectancy is commonly used to summarize the life-time mortality experience of a population. Differences in life expectancy are well-known across different levels of socioeconomic status such as income and education. A recent simulation study of potential life-years lost has shown the effects that major diseases contribute to differences in life expectancy at birth. We propose a general methodology to decompose life expectancy and expected life-years lost by disease in order to determine the contribution of diseases to differences in life expectancy at each given age. We show that the estimates for the life expectancy, expected life-years lost and their variances at each age can be computed backward recursively from an old age. The difference in life expectancy between groups will be shown to include contributions from diseases and life-year differences which occur after an old age cut-off beyond which the contribution of diseases cannot be easily determined. Diseases will be grouped into 14 major disease categories. Data from the National Longitudinal Mortality Study will be used for demonstration purposes.