Similar to this question, your task doesn't have analytical solution. Fortunately an accurate estimate can be found numerically through iterations and by using root-finding techniques.
Create a copy of your buildings, call it "polygons" in active mxd table of content and run this script:
mxd = arcpy.mapping.MapDocument("CURRENT")
buffers = arcpy.mapping.ListLayers(mxd,"POLYGONS")
with arcpy.da.UpdateCursor(buffers,"SHAPE@") as cursor:
for i,row in enumerate(cursor):
arcpy.AddMessage('Processing polygon No %i'%i)
if (high-low)<tolerance: break
Note: you need to modify target value, e.g. change it to 100. Script tested on shapefile, you have to start editing session, if "polygons" stored in database, so that ArcGIS will be able to recalculate Shape_Area field. The accuracy of solution only depends on ArcGIS ability to compute buffer.
It took under 2 seconds to complete task for 95 polygons shown on my very old PC.