I was trying to replicate this solution: How to draw a flat ellipse surface in Blender with the following known dimensions?
import bpy
import math
#IMPORTANT : set 3d cursor to world origin
bpy.context.area.spaces[1].cursor_location = (0.0, 0.0, 0.0)
#Add circle curve
bpy.ops.curve.primitive_bezier_circle_add(view_align=False, enter_editmode=False, location=(0, 0, 0), layers=(True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False))
#define variables
a = 10
b = 2
c = 3 # I use the half of c
d = 5
#Calculate width
width = a + b #or width = a + d + b?
#Calculate horizontal distance from world origin of c
distance = b / 2
#Calculate height c for the circle
#x^2 + y^2 = 1, see Unit Circle
x = (distance / (width / 2)) * math.pi * 0.5
cCircle = math.sqrt(1 - x**2)
#now we have to scale the height of the circle, so cCircle becomes c. And give its width.
factor = c / cCircle
bpy.ops.transform.resize(value=((width)/2, factor, 1), constraint_axis=(True, True, False), constraint_orientation='GLOBAL', mirror=False, proportional='DISABLED', proportional_edit_falloff='SMOOTH', proportional_size=1)
#Calculate location origin
originX = -((width) / 2 ) + b
originY = 0
originZ = 0
#Set 3d Cursor at Origin location
bpy.context.area.spaces[1].cursor_location = (originX, originY, originZ)
#Set origin to 3d cursor
bpy.ops.object.origin_set(type='ORIGIN_CURSOR')
#Move object to world origin
bpy.ops.transform.translate(value=((width/2) - b, 0, 0), constraint_axis=(True, False, False), constraint_orientation='GLOBAL', mirror=False, proportional='DISABLED', proportional_edit_falloff='SMOOTH', proportional_size=1, release_confirm=True)
#Voila
But there is a lot of errors on Blender, like this
How to make it work?

Add>Mesh>Math functionto create a surface – X Y Jul 28 '22 at 22:00