lm317 not working
The shown circuit is a kind of linear regulator (although not fitting your application with the present dimensioning). Thus the power losses would be basically identical to LM317 or any other linear circuit at a given output current.
As a late comment, to the original question: You simply ignored the LM317 datasheet, that gives clear current limits depending on voltage differential and case temperature. You can see, that even with a good heatsink, the LM317 isn't able to supply the intended current.
Furthermore, at least a LM317HV should be used, otherwise damage to the device, probably resulting in shorting the full input voltage to the 21V output, must be feared.
A discrete transistor as linear pre-regulator with sufficient heatsink or a switching (buck) regulator would be a solution.