Monday, March 25, 2019

Changing the Order of Integration in Two Dimension

Problem: I've been having issues in math, since my professor isn't really teaching stuff well. So, in order to gain a better understanding of changing the order of integration in double or triple integrals, I'll be exploring them.

Background: Some integrals are impossible to complete in the format they're given in. For example, the following:






If we tried integrating this with respect to x first, we'd probably start by doing a u-substitution of u = x2. The issue is: du = 2x*dx. This doesn't exist, and we run into a brick wall.

Fubini's Theorem states the following is true (Thank you, Wikipedia):





If the 3y was replaced with a numerical value, there wouldn't be a problem. However, the problem is: we have a variable as one of our bounds. If we flip the integration without changing anything, we'd end up with an function of y instead of a constant value.

It's also important to note exactly what we're doing here. In a single integral, we're finding the area under a curve. In a double integral, we're given a function of f(x,y). Finding the double integral of this function gives us the volume of the function in the given bounds. The function, as it's given, looks like this:
















Usually, I'd be using the Desmos graphing calculator, but that's incapable of graphing 3D functions, so instead, I'm using Geogebra.











This is what the function looks like while bounded. The red axis is the x axis, the y axis is green (which you can hardly see through the green function), and the z axis is the blue axis. The green surface is the function we're trying to integrate in the region enclosed by the blue planes. Specifically, the centered triangle.

In order to switch the integration bounds, we actually need to find new bounds altogether, starting with dy (green) then integrating over dx (red) after. In order to be able to do this, we actually need to now write y was a function of x, since we want to be able to introduce an x into the integral but out of the exponent. In doing so, the function will capable of being integrated with respect to x, since doing a u substitution would make a valid statement.

The initial bounds, as defined in the original integral, are:
x ∈ [3y, 9]
y ∈ [0, 3]

Being able to see the actual function helps me know somewhat what I need to do: Find each corner of the integrating region and rewrite the integral.










The red region is the area we're integrating over. The edges exist at (0,0), (9, 0) and (9, 3). Now, we just need the regions. First, let's start with what we want. We want dy first, which means the long side of the rectangles are going to be from left to right. So our bounds are going to be top-down. The lower bound should be 0, because this is along the x axis. The upper bound should just be a function in terms of x. Since we know the original integral says "x = 3y", we can just solve for y: "y = x / 3". This becomes our upper bound.

The bounds for x are simpler to make, since those are just numerical values. The minimum is 0 and the maximum is 9. Therefore, those are the bounds. Now that we have the bounds, we should be able to integrate this normally.




















Now, we can apply the proper u-substitution.









And that answer is equal to about: 2.7611784101×1035. It's huge, but understandable considering the rate of change of e to the x2. Furthermore, when plugging the integral into an integral solver, it turns out our answer is right. Really, the process is much easier than I thought it was, and less complex than my professor made it out to be.

Tuesday, October 2, 2018

Fixing the Site

Hey, everyone.

As I was checking the blog yesterday, I noticed something was very off about it. The majority of images posted throughout my explorations, namely my integral of xx, have been removed. After searching for a while, I realized this is because the email account originally associated with this blog has been terminated. In addition, uploading images was mostly handled through Google Drive. As a result, the images have been deleted, and most of my work is not currently visible on the blog. Over time, I will be working on fixing the blog itself. The majority of this will consist of remaking my images (which may take a while, considering the lengths I had to go to for several of them), as well as revising and/or completing other explorations from the past.

See you in the next exploration!
~Bassel

Wednesday, September 5, 2018

Indefinite Integral of x^x dx

I would be doing this for my Internal Assessment, but I was told this isn't allowed as this doesn't have any good extensions. Furthermore, it would take too long to do. (Note: This was started in November of 2017.)

Problem:
\[\int x^xdx\]

Solution:
Initially, my reaction was to treat this as both a polynomial and an exponent, since x was in the base and the power simultaneously. If that were the case, however, the integral would add an ln(x) to the function, thus making it invalid. This is because taking the derivative of that would not result in xx. This false integral is shown in the graph below. As always, Desmos was used in the graphing.



In addition, the area should always be positive, yet the calculated integral shows it to be negative on the interval of x being between [0,1). As stated before, taking the derivative of this also would not lead to the original function. A third point to mention is the fact the original integral should have an area at x = 1, but the calculated integral is undefined at that point.

Considering this didn't get me a valid answer, it's safe to say this isn't the proper approach to the integral. Therefore, I need to approach this from a different perspective; one in which I can actually take the integral of a function. Therefore, consider the following:

\[a = e^{ln(a)}\]

Since the statement is true, we can substitute our original function for a and apply the exponent rule for integrals:

\[x^x = e^{ln(x^x)}\]
\[x^x = e^{xln(x)}\]
\[\int x^x dx = \int e^{xln(x)}dx\]
\[\int x^x dx = \frac{e^{xln(x)}}{ln(x)+1} + C\]

Similarly to before, this can be checked graphically. This yields the same issue as before. So while the exponent rule was applied properly, the integral is still invalid. This is due to the same reasons as before. Those include negative integral outputs when x < 1, a quotient rule being created when the derivative is being taken, and an undefined integral at x = 1.

So I need another approach. While I could do something similar and only use the power rule, I doubt that would give me what I need. My next approach is going to be to integrate by parts. Where the part to take the derivative of is xx and the integrating part will be 1.




So I know this is a valid statement, seeing as how the two graphs overlap perfectly with one another. I can tell this is going to be very satisfying to finish. Now, I'll try going down one more layer.

\[x^{x + 1} - \int x^{x + 1} (ln(x) + 1)dx\]
\[=x^{x + 1} - x^x + \int x^{x - 1}(xln(x) + x + 1)dx\] 

I'm already noticing that this is just leading me down a rabbit hole that I won't get out of. Generally, integration by parts is supposed to end somewhere. This can be done when one of the parts becomes constant, which won't happen here, the terms cancel out, such as x and x-1, which also won't happen, or the original integral shows up and we can isolate the integral like a variable. It'll essentially be everything else divided by 2 (unless the integral is being added to the end, in which case something has gone horribly, horribly wrong). However, the number of terms, in this case, is increasing, and the power of x will keep dropping infinitely, but never to 0. 

This actually provides me a lot of information. There are several implications that come from my data. First, I may not be looking at a definitive function at all. This could very well be a sum. This would be proven by the fact the integral's power will have to drop infinitely. A sum is also evidenced by the fact the number of terms is increasing, leading to some polynomial expansion. Finally, a function is easily distinguishable after several integrations, since they just loop around, such as sin(x). However, this is definitely not looping back, which supports the idea that I need some sort of sum.

While I am making these conclusions, it's important to note I only took the integral a few times, which may not be sufficient data to fully consolidate my theory. So where do I go from here? My first instinct is the go down another step until I successfully prove my theory true or false, and/or create a formula which would perfectly model the integral.

Edit while fixing the site: My attempts at integrating this were lost. I went down 3 more layers into the integration, which didn't help my situation at all.

Upon graphing my latest attempt, I found that my work was wrong. There has to be another way.

Original Edit: The last time I touched this exploration was back in November. It is now April 2018.

Recently in Math class, our class began learning about "Taylor Series." Essentially, it's used for functions like sin(x) to approximate values. For example, sin(π/84) without using a calculator. The Taylor Series essentially tells us that the function is approximately equal to an infinite sum of some number determined by n multiplied by xn. For example, below is the infinite series of sin(x) and its graph compared to the original function.


If you can't see it, I highly suggest you open this image in a new tab, as you will hopefully be able to see it more clearly. Since I can't actually graph infinity into Desmos, I chose to go to 50, since that's the highest my computer can handle without freezing for 5 minutes. As you can see, this approximation up until n = 50 returns the actual value until around x = 33. As the highest n increases, so does the highest matching x in this case.

To find the Taylor series of a function, you're essentially summing up the nth derivative of the function at 0. Writing out the Taylor Series requires a generalized formula for the nth derivative. This goes back to what the definition of a derivative is. The first term will match the y-intercept of the graph. The second term will match the y-intercept and the tangent, as well as more points being closer. The third term will have everything from before, and now concavity at x = 0, and more points. The fourth term will add more points, and so on. This works on a certain interval, however. A function like
\[\frac{1}{1-x}\]
has a Taylor Series that only matches on the interval of
\[x \in (-1,1)\]

On the other hand, functions like sin(x) or ex have an interval on all possible values of x.

So now, the task becomes to find the n-th derivative of the function and generalize it for all values of n. Taking the integral of this will be easier since everything not x is considered to be a constant. We apply the anti-power rule and get the integral easily. While this won't give a specific function as the answer, this is the closest I can possibly get, I believe.


In fact, the first thing I'm going to do is get the Taylor Series of ex by hand. Since this is the easiest to do. Every derivative of ex is itself: ex. And plugging in 0 to each of these gives 1. But it's not that simple. Since we're finding the coefficient beside every power of x, the derivative of the function must continuously be taken until we reach that value of x (if this doesn't make sense, please tell me in the comment section. I'll make an exploration discussing Taylor Series in greater depth). So in order to fully complete the function, we need to divide every term by "n!" which is just n divided by every integer below it until 1.



So now, we have a final function of:
\[e^x = \sum_{n = 0}^{\infty} \frac{x^n}{n!}\]

The importance of finding this is: We've just created a function for ex. We want the function for xx, which we already established can be written as exln(x). Since the Taylor series to infinity is equal to the original, we can simply plug in xln(x) into the function and have the Taylor Series of xx returned.  Therefore, we can say:

\[x^x = \sum_{n = 0}^{\infty} \frac{x^n ln^n(x)}{n!}\]

And this is perfect since we can now take the integral of both sides and find an actual answer. The question now becomes: What is the integral of xnln(x)?

Now solving:

\[\int x^n ln^n(x) dx\]

The only issue here is the fact I can't use Integration by Parts to find a value for this, since neither term will ever become constant. This leads me into an infinite sum, which was somewhat evidenced in my last attempt of integration by parts. The question remains: What will be inside of it? Maybe an infinite sum within an infinite sum? It would be crazy to see, but it might just be the case.

Original Edit:
It is now late August 2018, 4 months after the last time I worked on this.

Over the course of the last few months, I've been thinking about how to approach this on and off, having made no progress. The biggest issue for me is the lnn(x). I don't know why, but it's throwing me off. To get rid of it, I'll be using u-substitution to take it out.

\[u = ln(x)\]

Before we move on, I need to find out what du is in terms of x and dx.

\[du = dx/x\]

So what does this do for me? Well, now it looks cleaner to me since I don't have to look at the ln(x) term. Other than that, it doesn't really do anything. But we do have to rewrite the sum as a function of u.

\[\int \frac{e^{(n+1)u}u^n}{n!} du\]

Truth be told, I was hoping it would help more than it actually did. Thankfully, both of these are better to integrate and differentiate. But the same issue is here: Neither of these becomes a constant. In fact, the first term never changes. If the exponential function becomes the integrating part, we'll be dividing by n + 1 constantly. If the power becomes the integrating part, we'll be dividing by n + 1, then n + 2, then n + 3, and so on. So either way, we're not getting any closer to the answer. My first step is as follows:

\[\int e^{u(n+1)}u^n du = \frac{e^{u(n + 1)}*nu^{n - 1}}{n+1}-\int \frac{e^{u(n + 1)}*nu^{n - 1}}{n + 1}du\]

 It would be good to go down another layer, but I already see the pattern. First, the sign is alternating. So we can say the infinite sum will have (-1)n at some point. Well, what else can we say? It seems that every time we take the integral, we divide by (n+1), so we know that's going to increase in power by 1 each time. Finally, the last term will be multiplying by n, then (n - 1), then (n - 2), and so on, until n is reached. As well, the power will keep subtracting by 1 until it reaches (n - n). Since we have n being used in the formula itself, we need a new variable. Let it be i in the sum.

\[\int x^n * ln^n(x)dx = \sum_{i = 0}^{\infty} \frac{(-1)^i * e^{u(n + 1)} *n! * u^{n - 1 - i}}{(n + 1)^{i + 1} * (n - 1 - i)!}\] 

I believe my math is right on that. The first term is positive, so -1 is being raised to the nth power to ensure it is positive on the first value. In the second term, (n + 1) is being raised to the (i + 1) term because the first term still has to be there. The last term was a bit fun to write. Considering the first term should be n, and the second should be n(n - 1) and the third should be n(n - 1)(n - 2), I have to make this a partial factorial. This is done by dividing n! by the factorial of the first term I don't need. My math, if I'm not mistaken, is correct in this case (I refuse to search up any information until I have completed this exploration. I want to figure this out myself).

However, I am still a few steps away from figuring it out. Consider earlier, we made a substitution. We need to plug that back in.

\[\int x^n ln^n(x) dx = \sum_{i = 0}^{\infty}\frac{(-1)^i * e^{u(n + 1)} *n! * u^{n - 1 - i}}{(n + 1)^{i + 1} * (n - 1 - i)!}+ C\] 
 
 Suddenly, this doesn't look right. But according to my math, it is. Since that's the integral, it's time to plug that back into the previous infinite sum.

\[\int x^x dx = \sum_{n=0}^{\infty} \frac{\sum_{i = 0}^{\infty}\frac{(-1)^i * e^{u(n + 1)} *n! * u^{n - 1 - i}}{(n + 1)^{i + 1} * (n - 1 - i)!}}{n!} + C\]

I actually made a mistake in this. In the inside sum, I have the lower bound of 0 and the upper bound of infinity, but that's just not the case. If it were, the third term in the i series would be invalid. This is because the denominator would start being the factorial of negative integers which, according to my other exploration linked here, explains is impossible. Therefore, we need to set an integer upper limit to the i series. I believe the upper limit of this should be (n - 1), as that prevents the factorial from going negative. Setting it to n would force the factorial to be of -1.

\[\int x^x dx = \sum_{n=0}^{\infty} \frac{\sum_{i = 0}^{n - 1}\frac{(-1)^i * e^{u(n + 1)} *n! * u^{n - 1 - i}}{(n + 1)^{i + 1} * (n - 1 - i)!}}{n!} + C\]

So is this the answer? I think so. It looks strange, but I'm fairly certain all my math is right. Granted, this is a Riemann Sum of the answer, so we'll never be able to perfectly define the integral. And since this is an infinite Riemann Sum,



As certain as I was of my answer, it looks like I'm off. Still, I have a feeling I'm close to the answer. Yes, I know the red graph is not an infinite sum, but Desmos just isn't powerful enough to handle infinite sums. The site basically freezes when upper limits of greater than 50 are used.

So where did my math go wrong? I honestly have no idea. I've going through my math for about a day and I'm pretty sure everything is correct. If anyone sees where I went wrong, please feel free to tell me.

My next idea for figuring this out is by actually integrating each sum individually for several terms, and making a generalized formula for the nth term. Of course, this won't be completely starting over, since I do have my previous attempt to base my answer on. To save time, I will not be showing each individual step for the integrations, only the final piece for them. The following sum describes the first few terms of the Taylor Series for xx:

\[x^x = \sum_{n = 0}^{\infty} \frac{x^n ln^n(x)}{n!}\]

 We can expand this to see exactly what we'll be integrating to:

\[x^x = 1 + xln(x) + \frac{x^2 ln^2(x)}{2!} + \frac{x^3 ln^3(x)}{3!} + \cdots\]

I will now integrate every numerator, in hopes of finding some generalized formula.

n = 0
\[\int 1 dx = x + C\]

n = 1
\[\int xln(x) dx = \frac{x^2(2ln(x) - 1)}{4} + C\]

n = 2
\[\int x^2 ln^2(x) dx = \frac{x^3(9 ln^2(x) - 6ln(x) + 2)}{27} + C\]

n = 3
\[\int x^3 ln^3(x) dx = \frac{x^4 (32ln^3(x) - 24ln^2(x) + 12ln(x) - 3)}{128} + C\]

n = 4
\[\int x^4 ln^4(x) dx = \frac{x^5 (625 ln^4(x) - 500 ln^3(x) + 300 ln^2(x) - 120 ln(x) + 24)}{3125} + C\]

Alright, this gives me a few data points to work with. The first thing I notice is x is raised to the power of (n + 1). According to my last attempt, that part was true. Another interesting point is that it looks like the natural log is in some sort of binomial, but the binomial has n somewhere in it. In addition, the number jumps from -3 to +24 for the constant term. Considering it's not 4, that makes figuring it out slightly harder. Looking back at my last attempt, the rule claims the last term is equal to n! even though that's definitely not the case. It would be the case, however, if there was a 6 instead of a 3 in the n = 3 term.

Now that I look at it, a lot more makes sense if I double the numerator and denominator for the n = 3 term.

\[\int x^3 ln^3(x) dx = \frac{x^4 (64 ln^3(x) - 48ln^2(x) + 24ln(x) - 6)}{256} + C\]

Do you see it? Now, we have -6 as the constant term, but we also have 256 in the denominator and 64 attached to ln3(x). Why does this make it easier? Well first, because the constant term of the binomial keeps switching, we know the general form of the binomial.

\[(a ln(x) - b)^n\]

Wait, no. This is definitely not the case. In order for this to be the case, b would have to be the nth root of n! which would introduce many, many roots into these terms, which don't exist. I think I'll save that part for later. I do notice that another segment of my last attempt was right. We're dividing by (n + 1) raised to (n + 1).

So now we're back to the main section, the expanding section, the "binomial" containing ln(x). I noticed the term attached to the highest power can be written as (n+1)n, which might help a bit.

So I figured this wasn't a binomial we expand, and that it was, instead, just a polynomial on its own. So I looked into whether or not each coefficient could divide by the second highest and provide something nice. I managed to mess up a few times, but once I tried it, the result was pretty interesting. For n = 2, the ratio of the largest to middle was 3 / 2 and the ratio from the middle to the lowest was 3 / 1.

After testing it with the coefficients up to n = 4, I found a pattern in which the numerator was n + 1 and the denominator was decreasing by 1 until the denominator became 1.

So what do these values tell us? Well, it means my first attempt was almost right, actually. There are just a few things I need to tweak to make it perfect, I think. For the sake of making sure I know exactly what has to happen, I'll be starting this series from scratch, and writing down on a separate piece of paper while I go through it.

The formula:

We know the Taylor Series for ex is:
\[e^x = \sum_{n = 0}^{\infty} \frac{x^n}{n!}\]

We know we can substitute a function in for x and the statement will still be true. In this case, xln(x):
\[x^x = \sum_{n=0}^{\infty} \frac{x^n ln^n(x)}{n!}\]

By taking the integral of that function, we can find the integral of the function it represents. We found a general integral by finding a pattern in the integral of each individual component. In this, we found: 
  • x is raised to the (n + 1) power.
  • The denominator of the entire series will be n!*(n+1)(n+1)
  • The sign attached is always switching, starting every time with a positive.
  • The highest power of the polynomial containing ln(x) is n.
  • The coefficient attached to the highest power of ln(x) is (n + 1)n.
I think I'll actually say it in a different way:
  • Each coefficient in the polynomial relates to (n + 1)(n+1). I say this because it allows me to write a segment of the summation much easier.
Within the summation of the polynomial, I'll be using the variable i. We know the ln(x) term is going to be written as lni(x).

I've been trying to figure out the formula for about 20 minutes now, using n = 3, but the one thing stopping me is having the relationship of 4:3 between the first and second terms. If it was 4:2, I would have gotten the relationship by now. Well -- that's mostly due to the fact I'm trying to use factorial in the denominator, which just doesn't seem to like me. I've been ignoring the fact each term is the previous coefficient multiplied by (n + 1) and divided by (4 - n), with the exception to the first, which doesn't have a previous term. So what I need is continuous multiplication. Basically Sigma notation, but multiplication instead.

After about half a minute of research, I found this lovely thing called Pi notation. It's used exactly in the same way as Sigma notation, but it's multiplicative instead of additive. It's just a matter of fitting it into my function. I tested it with n = 3, and got this as my result.



So now I have something for n = 3, and I just need to replace all 3's with n and 4's with n + 1, as well as rework my variables. Then, my year-long exploration will finally come to an end.

After plugging in our variables, we find that our final answer is:

\[\sum_{n=0}^{\infty} \frac{x^{n+1} * \sum_{i=0}^n(ln^{(n - i)}(x)*(-1)^i * \prod_{w=0}^i (\frac{i+1-w}{i+1}) )}{n!}\]

So when we graph it, it should overlap pretty well, right? As usual, Desmos can't use infinity, so I'll be increasing the upper bound until it stops working.



I guess not... I'll make sure my math is right, and that the pattern I made wasn't just for n = 3.

After a few minutes of analyzing the math, it turns out there were just a few mistakes in my implementation, and so I fixed them, as well as simplifying the series just a bit!



THIS is the final answer being checked. The upper bound of 20 on the outside summation was just to make sure my computer didn't freeze or crash in the process of graphing it. But that's it! The final answer is:

\[\int x^x dx = C + \sum_{n = 0}^\infty \frac{x^{(n + 1)} * \sum_{i = 0}^{n}(ln(x)^{n - i}*(-1)^i * \prod_{w=0}^i(\frac{n+1-w}{n+1}))}{(n + 1)!}\]

Yes, it looks horrible and disgusting, but that's because xx is not an Elementary Function, and therefore cannot be integrated normally. Expanding it into a series is the only way to do it properly.

This exploration took me almost a year to fully complete. A year of scribbling on papers, trying to find something that would lead me out of there. And while I'm done, I'm somewhat curious about other non-elementary functions we can take the integral of. Like what if we took the integral of sin(x)sin(x)? Would we just replace the x in the series with sin(x)? Are there even applications of these integrals, or was this just something people might try out for fun?

Edit while adding LaTeX: I'm actually dissatisfied by this solution. Yes, I got the correct answer (as shown through Desmos), but there are a few things I need to fix. This is being updated just under two years after the exploration was originally "completed."

My main problem with this is the giant product symbol. Consider the numerator inside that product. It starts at n + 1 and drops to n + 1 - i. By paying close attention, I'm wondering how I didn't notice this sooner; the product can be removed by saying the numerator is a factorial.
\[\prod_{w=0}^i (n + 1 - w) = (n + 1)(n)(n - 1)\cdots(n + 1 - i)\]

This can be simplified to:
\[\prod_{w=0}^i (n + 1 - w) = \frac{(n + 1)!}{(n - i)!}\]

Next, since the denominator does not depend on i or w, it can be considered in this case to be a "constant," being multiplied i + 1 times. Therefore, we can say:

 \[\prod_{w=0}^i \frac{1}{n + 1} = (\frac{1}{n + 1})^{(i + 1)}\]

By using what we just found, we can say:

\[\int x^x dx = C + \sum_{n = 0}^\infty \frac{x^{(n + 1)} * \sum_{i = 0}^{n}(ln(x)^{n - i}*(-1)^i * \frac{(n + 1)!}{(n - i)!} * \frac{1}{n + 1}^{(i + 1)}}{(n + 1)!}\]

Now here's a very interesting piece. Notice how the inner sum contains a fraction with a numerator of (n + 1)! . This does not depend on i, so we can technically take it out of the sum. By doing that, we can see it cancels out with the (n + 1)! in the denominator. So we're left with:

\[\int x^x dx = C + \sum_{n=0}^\infty (x^{n + 1} * \sum_{i = 0}^n (ln(x)^{n - i} * \frac{(-1)^i}{(n - i)!} * (\frac{1}{n + 1})^{(i + 1)}))\]

Testing it on Desmos with an upper bound of 20 still works. I'm wondering if I can simplify this more. 

Original Reflection:

Looking back, I've told maybe 100 people about this exploration, and the process I went through. Some people shared their ideas with me, most matching my very first step (treating it like a polynomial or an exponent, maybe even both). I told them why it didn't work, and they became curious. Some looked it up, but I always told them: "If you find it online, don't even tell me. I don't wanna know if I'm on the right track or not. I don't wanna get any hints. I want this to be my own work." And they kept it to themselves. Some wished me luck, some said it was "basically impossible," but I persisted. I'm proud of this work. If there's a simpler answer to this, I don't wanna know it. I put in a lot of effort into this, and I could not be happier with how it turned out. It's especially interesting to look at how my thought process changed over the course of the last year. It's incredible how much of math was packed into this one exploration. I tried pretty much all methods of integration. I tried using Basic Rules, Parts, Substitution, Taylor Series, I even learned about Pi notation! The year of work, in my opinion, was totally worth it.

New Reflection:

I keep finding myself back at this question, for some reason. Once I completed the exploration, I was so happy to finally have an answer. So many people told me to give up, and I'm much happier with how it turned out. It's quite a simple answer, especially considering how much more complex I had. Product Notation was a weird thing and I'm confused as to why I didn't realize it was a hidden factorial over a power sooner. I was sharing my findings with some nerds at university once, and one of them told me about his friend who's a math major (among another major and two minors). We were curious about how quickly he could solve it. I didn't know what to expect, but I gave him the problem and he solved it in about half an hour. I was surprised by it, and it was much simpler than my original solution, but at this time, I can't remember what his solution was. That was maybe a year ago. Maybe we arrived at the same conclusion, maybe we didn't. But now that I've finally completed this, it's time to move on to other fun problems.