Computes the solver string for a given cube.
@param facelets is the cube definition string format.
The names of the facelet positions of the cube:
|************| |*U1**U2**U3*| |************| |*U4**U5**U6*| |************| |*U7**U8**U9*| |************| ************|************|************|************| *L1**L2**L3*|*F1**F2**F3*|*R1**R2**F3*|*B1**B2**B3*| ************|************|************|************| *L4**L5**L6*|*F4**F5**F6*|*R4**R5**R6*|*B4**B5**B6*| ************|************|************|************| *L7**L8**L9*|*F7**F8**F9*|*R7**R8**R9*|*B7**B8**B9*| ************|************|************|************| |************| |*D1**D2**D3*| |************| |*D4**D5**D6*| |************| |*D7**D8**D9*| |************|
A cube definition string "UBL..." means for example: In position U1 we have the U-color, in position U2 we have the B-color, in position U3 we have the L color etc. according to the order U1, U2, U3, U4, U5, U6, U7, U8, U9, R1, R2, R3, R4, R5, R6, R7, R8, R9, F1, F2, F3, F4, F5, F6, F7, F8, F9, D1, D2, D3, D4, D5, D6, D7, D8, D9, L1, L2, L3, L4, L5, L6, L7, L8, L9, B1, B2, B3, B4, B5, B6, B7, B8, B9 of the enum constants.
@param maxDepth defines the maximal allowed maneuver length. For random cubes, a maxDepth of 21 usually will return a solution in less than 0.02 seconds on average. With a maxDepth of 20 it takes about 0.1 seconds on average to find a solution, but it may take much longer for specific cubes.
@param probeMax defines the maximum number of the probes of phase 2. If it does not return with a solution, it returns with an error code.
@param probeMin defines the minimum number of the probes of phase 2. So, if a solution is found within given probes, the computing will continue to find shorter solution(s). Btw, if probeMin > probeMax, probeMin will be set to probeMax.
@param verbose determins the format of the solution(s). see USE_SEPARATOR, INVERSE_SOLUTION, APPEND_LENGTH, OPTIMAL_SOLUTION
@return The solution string or an error code:
Error 1: There is not exactly one facelet of each colour
Error 2: Not all 12 edges exist exactly once
Error 3: Flip error: One edge has to be flipped
Error 4: Not all corners exist exactly once
Error 5: Twist error: One corner has to be twisted
Error 6: Parity error: Two corners or two edges have to be exchanged
Error 7: No solution exists for the given maxDepth
Error 8: Probe limit exceeded, no solution within given probMax