Okay, I'm not sure you'd call this a "general" solution, but I've brute forced it with a spreadsheet. Essentially I'm building solution for x+1 balls, based upon the solution for the number of floors which can be searched for a given number of drops (y) with x balls.
Essentially, the idea is that if you've got x balls and y drops, then your first drop can be 1 floor higher than the solution for x-1 balls and y-1 drops (if it breaks then you implement the x-1, y-1 strategy to find the answer). If it doesn't break, then you drop it again from 1 floor higher than the x-1 balls and y-2 drops answer and so on.... The following is a .csv format copy of the solution for 1 to 20 drops and 1 to 7 balls.
I make no claims about this being optimum (although intuitively it seems to me that it ought to be). Also, there may be some errors, as it's late and I can't be bothered to check my work.
drops,1 ball,2 balls,3 balls,4 balls,5 balls,6 balls,7 balls
1,1,1,1,1,1,1,1
2,2,3,3,3,3,3,3
3,3,6,7,7,7,7,7
4,4,10,14,15,15,15,15
5,5,15,25,30,31,31,31
6,6,21,41,56,62,63,63
7,7,28,63,98,119,126,127
8,8,36,92,162,218,246,254
9,9,45,129,255,381,465,501
10,10,55,175,385,637,847,967
11,11,66,231,561,1023,1485,1815
12,12,78,298,793,1585,2509,3301
13,13,91,377,1092,2379,4095,5811
14,14,105,469,1470,3472,6475,9907
15,15,120,575,1940,4943,9948,16383
16,16,136,696,2516,6884,14892,26332
17,17,153,833,3213,9401,21777,41225
18,18,171,987,4047,12615,31179,63003
19,19,190,1159,5035,16663,43795,94183
20,20,210,1350,6195,21699,60459,137979