  In this paper we present an extremely general method for approximately
solving a large family of convex programs where the solution can be divided
between different agents, subject to joint differential privacy. This class
includes multi-commodity flow problems, general allocation problems, and
multi-dimensional knapsack problems, among other examples. The accuracy of our
algorithm depends on the \emph{number} of constraints that bind between
individuals, but crucially, is \emph{nearly independent} of the number of
primal variables and hence the number of agents who make up the problem. As the
number of agents in a problem grows, the error we introduce often becomes
negligible.
  We also consider the setting where agents are strategic and have preferences
over their part of the solution. For any convex program in this class that
maximizes \emph{social welfare}, there is a generic reduction that makes the
corresponding optimization \emph{approximately dominant strategy truthful} by
charging agents prices for resources as a function of the approximately optimal
dual variables, which are themselves computed under differential privacy. Our
results substantially expand the class of problems that are known to be
solvable under both privacy and incentive constraints.
