I am looking for an algorithm that can find the best possible combination of inputs, in order to determine the optimum output So as the title poorly implies, I'm looking for an algorithm that can accomplish the following task (as an example):
Given the inputs A(1:100), B(1:100), C(1:100), that can take on any value between 1 to 100.
Given the outputs X, Y, Z, which are determined by a combination of the inputs eg:

A=2, B=3,C=4, returns X=76, Y=87, Z=34
A=5,B=1,C=100 returns X=52, Y=45, Z=24 etc.

The problem is, I have no clue how the inputs affect the outputs and so id like to find an algorithm of some sort that can try out various combinations of inputs in a logical manner (not randomly) to find the optimal output or get as close as possible to said optimum output, which in my case is finding the highest possible valued combination of X,Y,Z so best case scenario is finding a set of inputs that return 100, 100, 100 as the XYZ values.
If anyone has any idea how I could approach this or if a question like this has already been answered, I appreciate any and all help.
Thank you!
This would fall under something called black box optimization. In general, there are several methods you could try in practice such as (stochastic) hill climbing or say a genetic algorithm. Such methods might seem "random", but they take some care in moving in a smart way but also use some "randomness" to escape local optimums.