The solution is raise the age needed for a social security beneficiary to collect full benefits. This has already been done a little by increasing the retirement age to collect full benefits from 65 to 67 for those born in 1960 or later. For those born 1943 to 1955 the age to collect full benefits is 66, which is where we are now. Of course under all ages it was and is possible to collect partial benefits beginning at age 62.
The problem with this sacred cow is the risk of what is happening in France right now. Now the changes that are being proposed in France are already in effect and working here in the US. However, Social Security is still the single largest spending in the budget. Also, culturally, according to the New York Times article linked above, there is a feeling that young people need to participate in some form of "social movement" at some point in their life. It seems that the violent protests occurring are really only a very small fraction of the total strikes and protests occurring in France. Most demonstrators are doing so peacefully.
The solution to raising the age needed to collect without risking massive economic complications is something that I do not know. I feel that most politicians do not know either, otherwise they would have implemented more changes.
There are many other spending areas, as seen on the budget above, that could likely be reduced billions of dollars, with corresponding risks of protests. Many of those areas of spending I personally feel could be reduced significantly with positive long term effects. I feel that politicians have a pretty difficult job.