求能穷举"不是9个自然数立方和"的整数的算法,该怎么处理

求能穷举"不是9个自然数立方和"的整数的算法
这里说的自然数包括0。 
我的算法如下: 
  
1.把小于n的立方和数字列出来,例如0,1,8,27,64,125,我认为有m个立方和数字小于n。 
2.对于n,查看上述列表,从大到小应用表中元素做除法。 
例如对于269,我知道269=125*2+8*2+1*3。可以用少于9个立方和数来表示。 
  
但是我发现这种贪心的算法会有遗漏。比如 50=6*2^3+2*1^3+1*0^3,用贪心的方法只能得到50=1*3^3+2*2^3+7*1^3,大于9个数

如何设计这样的一个算法呢? 还请大虾指点啊!

------解决方案--------------------
不知道n有多大,小的话整数背包可以试试
------解决方案--------------------
贪心法没设计好吧,设计好了穷举时候不可能漏的