



from __future__ import annotations

# Define the Gravitational Constant G and the function
A__     				=	6.6_7_4_3e-1_1  # unit of G : m^3 * kg^-1 * s^-2


def 		_UpperCAmelCase    (				snake_case     ,						snake_case     ,						snake_case     ,						snake_case      ):





					"""simple docstring"""

					_lowerCAmelCase      =   mass_a * mass_a

					if (force, mass_a, mass_a, distance).count(0      ) != 1:
										raise ValueError("""One and only one argument must be 0"""      )
					if force < 0:
										raise ValueError("""Gravitational force can not be negative"""      )
					if distance < 0:
										raise ValueError("""Distance can not be negative"""      )
					if mass_a < 0 or mass_a < 0:
										raise ValueError("""Mass can not be negative"""      )
					if force == 0:
										_lowerCAmelCase      =   GRAVITATIONAL_CONSTANT * product_of_mass / (distance**2)
										return {"force": force}
					elif mass_a == 0:
										_lowerCAmelCase      =   (force) * (distance**2) / (GRAVITATIONAL_CONSTANT * mass_a)
										return {"mass_1": mass_a}
					elif mass_a == 0:
										_lowerCAmelCase      =   (force) * (distance**2) / (GRAVITATIONAL_CONSTANT * mass_a)
										return {"mass_2": mass_a}
					elif distance == 0:
										_lowerCAmelCase      =   (GRAVITATIONAL_CONSTANT * product_of_mass / (force)) ** 0.5
										return {"distance": distance}
					raise ValueError("""One and only one argument must be 0"""      )


# Run doctest
if __name__ == "__main__":
	import doctest

	doctest.testmod()








from math import exp


def 		_UpperCAmelCase    (				snake_case      ):





					"""simple docstring"""

					return 8 * x - 2 * exp(-x      )


def 		_UpperCAmelCase    (				snake_case     ,						snake_case     ,						snake_case      ):





					"""simple docstring"""

					_lowerCAmelCase      =   lower_bound
					_lowerCAmelCase      =   upper_bound
					for _ in range(0     ,						snake_case      ):
										_lowerCAmelCase     ,     _lowerCAmelCase      =   xa, xa - (f(snake_case      ) * (xa - xa)) / (f(snake_case      ) - f(snake_case      ))
					return xa


if __name__ == "__main__":
	print(f"Example: {secant_method(1, 3, 2)}")



