Based on the comments from the OP the real question is "What is an efficient algorithm to demodulate a DSB-SC signal." and I edited the title and intro in the question to make that consistent with the comment...please reject edits if that is incorrect). 

I don't believe that the FFT is an efficient approach for this. A straight forward approach to demodulate a DSB-SC signal for comparison is to simply multiply the signal with the recovered carrier. Carrier recovery can be done by simply squaring the signal, which will create a dominant tone at twice the carrier frequency which can then be divided by two.  Another approach is the Costas Loop as shown in the diagram below which will eliminate any phase offsets between the recovered carrier and the signal automatically due to the loop. The loop will lock such that $cos(\epsilon) = 1$ recovering the modulation signal $A_m$. Both approaches can be completely implemented digitally with significantly less resources than an FFT/IFFT.  

[![Costas Loop][1]][1]




  [1]: https://i.sstatic.net/hc3Yg.png